summaryrefslogtreecommitdiff
path: root/t/t2011-checkout-invalid-head.sh
diff options
context:
space:
mode:
authorAlexandre Julliard <julliard@winehq.org>2008-11-08 12:03:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-11-09 18:11:39 (GMT)
commit323e00fd46afb9293b25ee85f061ce11a2f95ca6 (patch)
tree42c867205627ef8cc70a306ad2fcfde9b0c17f5d /t/t2011-checkout-invalid-head.sh
parent7c181d627c136cbc67ef0f722e74e34017e662f0 (diff)
downloadgit-323e00fd46afb9293b25ee85f061ce11a2f95ca6.zip
git-323e00fd46afb9293b25ee85f061ce11a2f95ca6.tar.gz
git-323e00fd46afb9293b25ee85f061ce11a2f95ca6.tar.bz2
checkout: Don't crash when switching away from an invalid branch.
When using alternates, it is possible for HEAD to end up pointing to an invalid commit. git checkout should be able to recover from that situation without crashing. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2011-checkout-invalid-head.sh')
-rwxr-xr-xt/t2011-checkout-invalid-head.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/t/t2011-checkout-invalid-head.sh b/t/t2011-checkout-invalid-head.sh
new file mode 100755
index 0000000..764bb0a
--- /dev/null
+++ b/t/t2011-checkout-invalid-head.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+test_description='checkout switching away from an invalid branch'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+ echo hello >world &&
+ git add world &&
+ git commit -m initial
+'
+
+test_expect_success 'checkout master from invalid HEAD' '
+ echo 0000000000000000000000000000000000000000 >.git/HEAD &&
+ git checkout master --
+'
+
+test_done