summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Ben Peart <benpeart@microsoft.com>2019-01-23 15:02:00 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-01-23 13:22:47 -0800
commit91e3d7ca9b0194575c1fdbb82b74bef4eb8357a1 (patch)
tree32e9fef93e1427cc5026b2fe58f98099b325da6d /t
parentconfig doc: add missing list separator for checkout.optimizeNewBranch (diff)
downloadtgif-91e3d7ca9b0194575c1fdbb82b74bef4eb8357a1.tar.xz
checkout: add test demonstrating regression with checkout -b on initial commit
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>
Diffstat (limited to 't')
-rwxr-xr-xt/t2018-checkout-branch.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/t/t2018-checkout-branch.sh b/t/t2018-checkout-branch.sh
index 2131fb2a56..6da2d4e68f 100755
--- a/t/t2018-checkout-branch.sh
+++ b/t/t2018-checkout-branch.sh
@@ -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