diff options
author | Michele Ballabio <barra_cuda@katamail.com> | 2008-03-23 22:34:34 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-27 13:55:15 -0700 |
commit | 0c62705a0d9730df027a4e4074a8d9d5293e0b9b (patch) | |
tree | 19fef6a279c19a396b67975cd1ec17eb2d223eef /t | |
parent | 1f4a711a05e00db81da552dd990f6ddff4ffb63e (diff) | |
download | git-0c62705a0d9730df027a4e4074a8d9d5293e0b9b.tar.gz git-0c62705a0d9730df027a4e4074a8d9d5293e0b9b.tar.xz |
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>
Diffstat (limited to 't')
-rw-r--r-- | t/t5304-prune.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh index 47090c4cf..3d81e1f19 100644 --- a/t/t5304-prune.sh +++ b/t/t5304-prune.sh @@ -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 |