From: Ben Peart <benpeart@xxxxxxxxxxxxx> Commit fa655d8411 checkout: optimize "git checkout -b <new_branch>" introduced an unintentional change in behavior for 'checkout -b' after doing a '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@xxxxxxxxxxxxx> --- t/t2018-checkout-branch.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/t/t2018-checkout-branch.sh b/t/t2018-checkout-branch.sh index 2131fb2a56..35999b3adb 100755 --- a/t/t2018-checkout-branch.sh +++ b/t/t2018-checkout-branch.sh @@ -198,4 +198,15 @@ test_expect_success 'checkout -B to the current branch works' ' test_dirty_mergeable ' +test_expect_success 'checkout -b after clone --no-checkout does a checkout of HEAD' ' + git init src && + echo hi > src/a && + git -C src add . && + git -C src commit -m "initial commit" && + rev="$(git -C src rev-parse HEAD)" && + git clone --no-checkout src dest && + git -C dest checkout "$rev" -b branch && + test_must_fail test -f dest/a +' + test_done -- 2.19.1.gvfs.1.16.g9d1374d