Add tests for git-prune
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>maint
parent
1f4a711a05
commit
0c62705a0d
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue