]>
Commit | Line | Data |
---|---|---|
dace6e44 ML |
1 | #!/bin/sh |
2 | ||
3 | test_description='test git rev-parse' | |
4 | . ./test-lib.sh | |
5 | ||
6 | test_rev_parse() { | |
7 | name=$1 | |
8 | shift | |
9 | ||
10 | test_expect_success "$name: is-bare-repository" \ | |
11 | "test '$1' = \"\$(git rev-parse --is-bare-repository)\"" | |
12 | shift | |
13 | [ $# -eq 0 ] && return | |
14 | ||
15 | test_expect_success "$name: is-inside-git-dir" \ | |
16 | "test '$1' = \"\$(git rev-parse --is-inside-git-dir)\"" | |
17 | shift | |
18 | [ $# -eq 0 ] && return | |
19 | ||
6c56049f ML |
20 | test_expect_success "$name: is-inside-work-tree" \ |
21 | "test '$1' = \"\$(git rev-parse --is-inside-work-tree)\"" | |
22 | shift | |
23 | [ $# -eq 0 ] && return | |
24 | ||
dace6e44 ML |
25 | test_expect_success "$name: prefix" \ |
26 | "test '$1' = \"\$(git rev-parse --show-prefix)\"" | |
27 | shift | |
28 | [ $# -eq 0 ] && return | |
29 | } | |
30 | ||
7efeb8f0 JS |
31 | # label is-bare is-inside-git is-inside-work prefix |
32 | ||
6c56049f | 33 | test_rev_parse toplevel false false true '' |
dace6e44 ML |
34 | |
35 | cd .git || exit 1 | |
8bfa6bd6 | 36 | test_rev_parse .git/ false true false '' |
dace6e44 | 37 | cd objects || exit 1 |
8bfa6bd6 | 38 | test_rev_parse .git/objects/ false true false '' |
dace6e44 ML |
39 | cd ../.. || exit 1 |
40 | ||
41 | mkdir -p sub/dir || exit 1 | |
42 | cd sub/dir || exit 1 | |
6c56049f | 43 | test_rev_parse subdirectory false false true sub/dir/ |
dace6e44 ML |
44 | cd ../.. || exit 1 |
45 | ||
46 | git config core.bare true | |
e90fdc39 | 47 | test_rev_parse 'core.bare = true' true false false |
dace6e44 ML |
48 | |
49 | git config --unset core.bare | |
6c56049f | 50 | test_rev_parse 'core.bare undefined' false false true |
dace6e44 ML |
51 | |
52 | mkdir work || exit 1 | |
53 | cd work || exit 1 | |
0e46e704 BD |
54 | GIT_DIR=../.git |
55 | GIT_CONFIG="$(pwd)"/../.git/config | |
56 | export GIT_DIR GIT_CONFIG | |
dace6e44 ML |
57 | |
58 | git config core.bare false | |
7efeb8f0 | 59 | test_rev_parse 'GIT_DIR=../.git, core.bare = false' false false true '' |
dace6e44 ML |
60 | |
61 | git config core.bare true | |
e90fdc39 | 62 | test_rev_parse 'GIT_DIR=../.git, core.bare = true' true false false '' |
dace6e44 ML |
63 | |
64 | git config --unset core.bare | |
7efeb8f0 | 65 | test_rev_parse 'GIT_DIR=../.git, core.bare undefined' false false true '' |
dace6e44 ML |
66 | |
67 | mv ../.git ../repo.git || exit 1 | |
0e46e704 BD |
68 | GIT_DIR=../repo.git |
69 | GIT_CONFIG="$(pwd)"/../repo.git/config | |
dace6e44 ML |
70 | |
71 | git config core.bare false | |
6c56049f | 72 | test_rev_parse 'GIT_DIR=../repo.git, core.bare = false' false false true '' |
dace6e44 ML |
73 | |
74 | git config core.bare true | |
e90fdc39 | 75 | test_rev_parse 'GIT_DIR=../repo.git, core.bare = true' true false false '' |
dace6e44 ML |
76 | |
77 | git config --unset core.bare | |
e90fdc39 | 78 | test_rev_parse 'GIT_DIR=../repo.git, core.bare undefined' false false true '' |
dace6e44 ML |
79 | |
80 | test_done |