[PATCH 1/3] checkout: add basic tests for detached-orphan warning
From: Jeff King <hidden>
Date: 2016-06-15 22:50:49
Subsystem:
the rest · Maintainer:
Linus Torvalds
Commit 8e2dc6ac added a warning when we leave a detached HEAD whose commit is not reachable from any ref tip. Let's add a few basic tests to make sure it works. Signed-off-by: Jeff King <redacted> --- t/t2020-checkout-detach.sh | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh
index 0042145..bfeb2a6 100755
--- a/t/t2020-checkout-detach.sh
+++ b/t/t2020-checkout-detach.sh@@ -11,6 +11,14 @@ check_not_detached () { git symbolic-ref -q HEAD >/dev/null } +ORPHAN_WARNING='you are leaving .* commit.*behind' +check_orphan_warning() { + grep "$ORPHAN_WARNING" "$1" +} +check_no_orphan_warning() { + ! grep "$ORPHAN_WARNING" "$1" +} + reset () { git checkout master && check_not_detached
@@ -19,6 +27,8 @@ reset () { test_expect_success 'setup' ' test_commit one && test_commit two && + test_commit three && git tag -d three && + test_commit four && git tag -d four && git branch branch && git tag tag '
@@ -92,4 +102,28 @@ test_expect_success 'checkout --detach moves HEAD' ' git diff --exit-code two ' +test_expect_success 'checkout warns on orphan commits' ' + reset && + git checkout --detach two && + echo content >orphan && + git add orphan && + git commit -a -m orphan && + git checkout master 2>stderr && + check_orphan_warning stderr +' + +test_expect_success 'checkout does not warn leaving ref tip' ' + reset && + git checkout --detach two && + git checkout master 2>stderr && + check_no_orphan_warning stderr +' + +test_expect_success 'checkout does not warn leaving reachable commit' ' + reset && + git checkout --detach HEAD^ && + git checkout master 2>stderr && + check_no_orphan_warning stderr +' + test_done
--
1.7.2.5.10.g62fe7