t5613: do not chdir in main process
authorJeff King <peff@peff.net>
Mon, 3 Oct 2016 20:34:08 +0000 (16:34 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Oct 2016 21:25:43 +0000 (14:25 -0700)
Our usual style when working with subdirectories is to chdir
inside a subshell or to use "git -C", which means we do not
have to constantly return to the main test directory. Let's
convert this old test, which does not follow that style.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5613-info-alternate.sh
index 1f283a5567c4032cdc5a493db5c341e0d2bfda6c..7bc1c3caed1fcfc079f500905adc22dd958ba9c2 100755 (executable)
@@ -6,44 +6,39 @@
 test_description='test transitive info/alternate entries'
 . ./test-lib.sh
 
-base_dir=$(pwd)
-
 test_expect_success 'preparing first repository' '
-       test_create_repo A &&
-       cd A &&
-       echo "Hello World" > file1 &&
-       git add file1 &&
-       git commit -m "Initial commit" file1 &&
-       git repack -a -d &&
-       git prune
+       test_create_repo A && (
+               cd A &&
+               echo "Hello World" > file1 &&
+               git add file1 &&
+               git commit -m "Initial commit" file1 &&
+               git repack -a -d &&
+               git prune
+       )
 '
 
-cd "$base_dir"
-
 test_expect_success 'preparing second repository' '
-       git clone -l -s A B &&
-       cd B &&
-       echo "foo bar" > file2 &&
-       git add file2 &&
-       git commit -m "next commit" file2 &&
-       git repack -a -d -l &&
-       git prune
+       git clone -l -s A B && (
+               cd B &&
+               echo "foo bar" > file2 &&
+               git add file2 &&
+               git commit -m "next commit" file2 &&
+               git repack -a -d -l &&
+               git prune
+       )
 '
 
-cd "$base_dir"
-
 test_expect_success 'preparing third repository' '
-       git clone -l -s B C &&
-       cd C &&
-       echo "Goodbye, cruel world" > file3 &&
-       git add file3 &&
-       git commit -m "one more" file3 &&
-       git repack -a -d -l &&
-       git prune
+       git clone -l -s B C && (
+               cd C &&
+               echo "Goodbye, cruel world" > file3 &&
+               git add file3 &&
+               git commit -m "one more" file3 &&
+               git repack -a -d -l &&
+               git prune
+       )
 '
 
-cd "$base_dir"
-
 test_expect_success 'creating too deep nesting' '
        git clone -l -s C D &&
        git clone -l -s D E &&
@@ -53,55 +48,34 @@ test_expect_success 'creating too deep nesting' '
 '
 
 test_expect_success 'invalidity of deepest repository' '
-       cd H &&
-       test_must_fail git fsck
+       test_must_fail git -C H fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'validity of third repository' '
-       cd C &&
-       git fsck
+       git -C C fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'validity of fourth repository' '
-       cd D &&
-       git fsck
+       git -C D fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'breaking of loops' '
-       echo "$base_dir"/B/.git/objects >>"$base_dir"/A/.git/objects/info/alternatesi &&
-       cd C &&
-       git fsck
+       echo "$(pwd)"/B/.git/objects >>A/.git/objects/info/alternates &&
+       git -C C fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'that info/alternates is necessary' '
-       cd C &&
-       rm -f .git/objects/info/alternates &&
-       test_must_fail git fsck
+       rm -f C/.git/objects/info/alternates &&
+       test_must_fail git -C C fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'that relative alternate is possible for current dir' '
-       cd C &&
-       echo "../../../B/.git/objects" > .git/objects/info/alternates &&
+       echo "../../../B/.git/objects" >C/.git/objects/info/alternates &&
        git fsck
 '
 
-cd "$base_dir"
-
 test_expect_success 'that relative alternate is only possible for current dir' '
-       cd D &&
-       test_must_fail git fsck
+       test_must_fail git -C D fsck
 '
 
-cd "$base_dir"
-
 test_done