checkout: add test demonstrating regression with checkout -b on initial commit
authorBen Peart <benpeart@microsoft.com>
Wed, 23 Jan 2019 20:02:00 +0000 (15:02 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Jan 2019 21:22:47 +0000 (13:22 -0800)
Commit fa655d8411 (checkout: optimize "git checkout -b <new_branch>",
2018-08-16) introduced an unintentional change in behavior for 'checkout -b'
after doing 'clone --no-checkout'. Add a test to demonstrate the changed
behavior to be used in a later patch to verify the fix.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t2018-checkout-branch.sh
index 2131fb2a5682c50faf64e6066f03080702168b94..6da2d4e68fac0483cebbf02f3d2bddfa09ad57fa 100755 (executable)
@@ -198,4 +198,13 @@ test_expect_success 'checkout -B to the current branch works' '
        test_dirty_mergeable
 '
 
+test_expect_failure 'checkout -b after clone --no-checkout does a checkout of HEAD' '
+       git init src &&
+       test_commit -C src a &&
+       rev="$(git -C src rev-parse HEAD)" &&
+       git clone --no-checkout src dest &&
+       git -C dest checkout "$rev" -b branch &&
+       test_path_is_file dest/a.t
+'
+
 test_done