]> git.ipfire.org Git - thirdparty/git.git/commit
cherry-pick: use better advice message
authorZheNing Hu <adlternative@gmail.com>
Sun, 22 Aug 2021 13:08:41 +0000 (13:08 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Aug 2021 20:09:37 +0000 (13:09 -0700)
commitf172556b89822693cae70f87c73fe7b6a96b9855
treec5e2041155a40d599ff2eed7fbf1e450fd5e5151
parent2d755dfac9aadab25c3e025b849252b8c0a61465
cherry-pick: use better advice message

"git cherry-pick", upon seeing a conflict, says:

hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

as if running "git commit" to conclude the resolution of
this single step were the end of the story.  This stems from
the fact that the command originally was to pick a single
commit and not a range of commits, and the message was
written back then and has not been adjusted.

When picking a range of commits and the command stops with a
conflict in the middle of the range, however, after
resolving the conflict and (optionally) recording the result
with "git commit", the user has to run "git cherry-pick
--continue" to have the rest of the range dealt with,
"--skip" to drop the current commit, or "--abort" to discard
the series.

Suggest use of "git cherry-pick --continue/--skip/--abort"
so that the message also covers the case where a range of
commits are being picked.

Similarly, this optimization can be applied to git revert,
suggest use of "git revert --continue/--skip/--abort" so
that the message also covers the case where a range of
commits are being reverted.

It is worth mentioning that now we use advice() to print
the content of GIT_CHERRY_PICK_HELP in print_advice(), each
line of output will start with "hint: ".

Mentored-by: Christian Couder <christian.couder@gmail.com>
Mentored-by: Hariom Verma <hariom18599@gmail.com>
Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: ZheNing Hu <adlternative@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c
t/t3501-revert-cherry-pick.sh
t/t3507-cherry-pick-conflict.sh