Skip to content

Commit

Permalink
Add tests for git-prune
Browse files Browse the repository at this point in the history
It seems that git prune changed behaviour with respect to revisions added
from command line, probably when it became a builtin. Currently, it prints
a short usage and exits: instead, it should take those revisions into
account and not prune them. So add a couple of test to point this out.

We'll be fixing this by switching to parse_options(), so add tests to
detect bogus command line parameters as well, to keep ourselves from
introducing regressions.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michele Ballabio authored and Junio C Hamano committed Mar 27, 2008
1 parent 1f4a711 commit 0c62705
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions t/t5304-prune.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,38 @@ test_expect_success 'gc: start with ok gc.pruneExpire' '
'

test_expect_success 'prune: prune nonsense parameters' '
test_must_fail git prune garbage &&
test_must_fail git prune --- &&
test_must_fail git prune --no-such-option
'

test_expect_success 'prune: prune unreachable heads' '
git config core.logAllRefUpdates false &&
mv .git/logs .git/logs.old &&
: > file2 &&
git add file2 &&
git commit -m temporary &&
tmp_head=$(git rev-list -1 HEAD) &&
git reset HEAD^ &&
git prune &&
test_must_fail git reset $tmp_head --
'

test_expect_failure 'prune: do not prune heads listed as an argument' '
: > file2 &&
git add file2 &&
git commit -m temporary &&
tmp_head=$(git rev-list -1 HEAD) &&
git reset HEAD^ &&
git prune -- $tmp_head &&
git reset $tmp_head --
'

test_done

0 comments on commit 0c62705

Please sign in to comment.