credential: let helpers tell us to quit
[gitweb.git] / t / t5304-prune.sh
index e4bb3a14570780b41ce4ebea9e47870d4cbcb127..01c6a3fc1dc3ef028cfdaad749e9e68955f00226 100755 (executable)
@@ -104,6 +104,28 @@ test_expect_success 'prune: prune unreachable heads' '
 
 '
 
+test_expect_success 'prune: do not prune detached HEAD with no reflog' '
+
+       git checkout --detach --quiet &&
+       git commit --allow-empty -m "detached commit" &&
+       # verify that there is no reflogs
+       # (should be removed and disabled by previous test)
+       test ! -e .git/logs &&
+       git prune -n >prune_actual &&
+       : >prune_expected &&
+       test_cmp prune_actual prune_expected
+
+'
+
+test_expect_success 'prune: prune former HEAD after checking out branch' '
+
+       head_sha1=$(git rev-parse HEAD) &&
+       git checkout --quiet master &&
+       git prune -v >prune_actual &&
+       grep "$head_sha1" prune_actual
+
+'
+
 test_expect_success 'prune: do not prune heads listed as an argument' '
 
        : > file2 &&
@@ -213,7 +235,7 @@ test_expect_success 'garbage report in count-objects -v' '
 warning: garbage found: .git/objects/pack/fake.bar
 warning: garbage found: .git/objects/pack/foo
 warning: garbage found: .git/objects/pack/foo.bar
-warning: no corresponding .idx nor .pack: .git/objects/pack/fake2.keep
+warning: no corresponding .idx or .pack: .git/objects/pack/fake2.keep
 warning: no corresponding .idx: .git/objects/pack/foo.keep
 warning: no corresponding .idx: .git/objects/pack/foo.pack
 warning: no corresponding .pack: .git/objects/pack/fake3.idx
@@ -221,4 +243,14 @@ EOF
        test_cmp expected actual
 '
 
+test_expect_success 'prune .git/shallow' '
+       SHA1=`echo hi|git commit-tree HEAD^{tree}` &&
+       echo $SHA1 >.git/shallow &&
+       git prune --dry-run >out &&
+       grep $SHA1 .git/shallow &&
+       grep $SHA1 out &&
+       git prune &&
+       ! test -f .git/shallow
+'
+
 test_done