7
test_rev_parse () {
8
d=
9
bare=
10
+ gitdir=
11
while :
12
do
13
case "$1" in
16
[tfu]*) bare="$2"; shift; shift ;;
17
*) error "test_rev_parse: bogus core.bare value '$2'" ;;
18
esac ;;
19
+ -g) gitdir="$2"; shift; shift ;;
20
-*) error "test_rev_parse: unrecognized option '$1'" ;;
21
*) break ;;
22
esac
34
test $# -eq 0 && break
35
expect="$1"
36
test_expect_success "$name: $o" '
37
+ if test -n "$gitdir"
38
+ then
39
+ test_when_finished "unset GIT_DIR" &&
40
+ GIT_DIR="$gitdir" &&
41
+ export GIT_DIR
42
+ fi &&
43
+
44
case "$bare" in
45
t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;;
46
f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;;
73
74
test_rev_parse -b u 'core.bare undefined' false false true
75
67
-GIT_DIR=../.git
68
-export GIT_DIR
76
70
-test_rev_parse -C work -b f 'GIT_DIR=../.git, core.bare = false' false false true ''
77
+test_rev_parse -C work -g ../.git -b f 'GIT_DIR=../.git, core.bare = false' false false true ''
78
72
-test_rev_parse -C work -b t 'GIT_DIR=../.git, core.bare = true' true false false ''
79
+test_rev_parse -C work -g ../.git -b t 'GIT_DIR=../.git, core.bare = true' true false false ''
80
74
-test_rev_parse -C work -b u 'GIT_DIR=../.git, core.bare undefined' false false true ''
81
+test_rev_parse -C work -g ../.git -b u 'GIT_DIR=../.git, core.bare undefined' false false true ''
82
76
-GIT_DIR=../repo.git
83
78
-test_rev_parse -C work -b f 'GIT_DIR=../repo.git, core.bare = false' false false true ''
84
+test_rev_parse -C work -g ../repo.git -b f 'GIT_DIR=../repo.git, core.bare = false' false false true ''
85
80
-test_rev_parse -C work -b t 'GIT_DIR=../repo.git, core.bare = true' true false false ''
86
+test_rev_parse -C work -g ../repo.git -b t 'GIT_DIR=../repo.git, core.bare = true' true false false ''
87
82
-test_rev_parse -C work -b u 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
88
+test_rev_parse -C work -g ../repo.git -b u 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
89
90
test_done