t1500: be considerate to future potential tests

The final batch of git-rev-parse tests work against a non-local object database named repo.git. This is done by renaming .git to repo.git and pointing GIT_DIR at it, but the name is never restored to .git at the end of the script, which can be problematic for tests added in the future. Be more friendly by instead making repo.git a copy of .git. Furthermore, make it clear that tests in repo.git will be independent from the results of earlier tests done in .git by initializing repo.git earlier in the test sequence. Likewise, bundle remaining preparation (such as directory creation) into a common setup test consistent with modern practice. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Eric Sunshine committed May 17, 2016 at 15:36 UTC d66f68ff985f494f3122ab05b532c6e41884ad64
1 file changed +5 -3
t/t1500-rev-parse.sh
+5 -3
@@ -37,6 +37,11 @@ test_rev_parse() {
37
38 ROOT=$(pwd)
39
40 +test_expect_success 'setup' '
41 + mkdir -p sub/dir work &&
42 + cp -R .git repo.git
43 +'
44 +
45 test_rev_parse toplevel false false true '' .git
46
47 cd .git || exit 1
@@ -45,7 +50,6 @@ cd objects || exit 1
50 test_rev_parse .git/objects/ false true false '' "$ROOT/.git"
51 cd ../.. || exit 1
52
48 -mkdir -p sub/dir || exit 1
53 cd sub/dir || exit 1
54 test_rev_parse subdirectory false false true sub/dir/ "$ROOT/.git"
55 cd ../.. || exit 1
@@ -56,7 +60,6 @@ test_rev_parse 'core.bare = true' true false false
60 git config --unset core.bare
61 test_rev_parse 'core.bare undefined' false false true
62
59 -mkdir work || exit 1
63 cd work || exit 1
64 GIT_DIR=../.git
65 GIT_CONFIG="$(pwd)"/../.git/config
@@ -71,7 +74,6 @@ test_rev_parse 'GIT_DIR=../.git, core.bare = true' true false false ''
74 git config --unset core.bare
75 test_rev_parse 'GIT_DIR=../.git, core.bare undefined' false false true ''
76
74 -mv ../.git ../repo.git || exit 1
77 GIT_DIR=../repo.git
78 GIT_CONFIG="$(pwd)"/../repo.git/config
79