diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-10-28 01:09:50 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-28 01:09:51 +0300 |
commit | f3cfeb3078ce4af0ac764515795f7e0849a88931 (patch) | |
tree | 2c50c6975c647cfe709b5051a14145a93ae9726d /t | |
parent | 40696c67274305d6258539de5a36649cf833f712 (diff) | |
parent | 35166b1fb54d6c3ca0d9150fd766598a2d3d17b2 (diff) |
Merge branch 'dl/checkout-p-merge-base'
"git checkout -p A...B [-- <path>]" did not work, even though the
same command without "-p" correctly used the merge-base between
commits A and B.
* dl/checkout-p-merge-base:
t2016: add a NEEDSWORK about the PERL prerequisite
add-patch: add NEEDSWORK about comparing commits
Doc: document "A...B" form for <tree-ish> in checkout and switch
builtin/checkout: fix `git checkout -p HEAD...` bug
Diffstat (limited to 't')
-rwxr-xr-x | t/t2016-checkout-patch.sh | 11 | ||||
-rwxr-xr-x | t/t2071-restore-patch.sh | 8 |
2 files changed, 19 insertions, 0 deletions
diff --git a/t/t2016-checkout-patch.sh b/t/t2016-checkout-patch.sh index 47aeb0b167..d91a329eb3 100755 --- a/t/t2016-checkout-patch.sh +++ b/t/t2016-checkout-patch.sh @@ -18,6 +18,10 @@ test_expect_success PERL 'setup' ' # note: bar sorts before dir/foo, so the first 'n' is always to skip 'bar' +# NEEDSWORK: Since the builtin add-p is used when $GIT_TEST_ADD_I_USE_BUILTIN +# is given, we should replace the PERL prerequisite with an ADD_I prerequisite +# which first checks if $GIT_TEST_ADD_I_USE_BUILTIN is defined before checking +# PERL. test_expect_success PERL 'saying "n" does nothing' ' set_and_save_state dir/foo work head && test_write_lines n n | git checkout -p && @@ -59,6 +63,13 @@ test_expect_success PERL 'git checkout -p HEAD with change already staged' ' verify_state dir/foo head head ' +test_expect_success PERL 'git checkout -p HEAD^...' ' + # the third n is to get out in case it mistakenly does not apply + test_write_lines n y n | git checkout -p HEAD^... && + verify_saved_state bar && + verify_state dir/foo parent parent +' + test_expect_success PERL 'git checkout -p HEAD^' ' # the third n is to get out in case it mistakenly does not apply test_write_lines n y n | git checkout -p HEAD^ && diff --git a/t/t2071-restore-patch.sh b/t/t2071-restore-patch.sh index 98b2476e7c..b5c5c0ff7e 100755 --- a/t/t2071-restore-patch.sh +++ b/t/t2071-restore-patch.sh @@ -60,6 +60,14 @@ test_expect_success PERL 'git restore -p --source=HEAD^' ' verify_state dir/foo parent index ' +test_expect_success PERL 'git restore -p --source=HEAD^...' ' + set_state dir/foo work index && + # the third n is to get out in case it mistakenly does not apply + test_write_lines n y n | git restore -p --source=HEAD^... && + verify_saved_state bar && + verify_state dir/foo parent index +' + test_expect_success PERL 'git restore -p handles deletion' ' set_state dir/foo work index && rm dir/foo && |