summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1f4a711)
raw | patch | inline | side by side (parent: 1f4a711)
author | Michele Ballabio <barra_cuda@katamail.com> | |
Sun, 23 Mar 2008 21:34:34 +0000 (22:34 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 27 Mar 2008 20:55:15 +0000 (13:55 -0700) |
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>
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>
t/t5304-prune.sh | patch | blob | history |
diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh
index 47090c4cf528016bf864116232baf29aeb1e4bfe..3d81e1f19aa9d0b7e7d4ffbf4338d9048e8196c1 100644 (file)
--- a/t/t5304-prune.sh
+++ b/t/t5304-prune.sh
'
+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