diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-12-10 06:49:25 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-12-12 13:31:32 -0800 |
commit | 093a309136c38eca0ea2dd5da3c68b483443d113 (patch) | |
tree | 30b2b0d8aff3c55b0d4aa2860d3e9a0b0ca5c6d3 /t/t4013/diff.diff-tree_--pretty_--stat_initial | |
parent | revert: give --continue handling its own function (diff) | |
download | tgif-093a309136c38eca0ea2dd5da3c68b483443d113.tar.xz |
revert: allow cherry-pick --continue to commit before resuming
When "git cherry-pick ..bar" encounters conflicts, permit the operator
to use cherry-pick --continue after resolving them as a shortcut for
"git commit && git cherry-pick --continue" to record the resolution
and carry on with the rest of the sequence.
This improves the analogy with "git rebase" (in olden days --continue
was the way to preserve authorship when a rebase encountered
conflicts) and fits well with a general UI goal of making "git cmd
--continue" save humans the trouble of deciding what to do next.
Example: after encountering a conflict from running "git cherry-pick
foo bar baz":
CONFLICT (content): Merge conflict in main.c
error: could not apply f78a8d98c... bar!
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'
We edit main.c to resolve the conflict, mark it acceptable with "git
add main.c", and can run "cherry-pick --continue" to resume the
sequence.
$ git cherry-pick --continue
[editor opens to confirm commit message]
[master 78c8a8c98] bar!
1 files changed, 1 insertions(+), 1 deletions(-)
[master 87ca8798c] baz!
1 files changed, 1 insertions(+), 1 deletions(-)
This is done for both codepaths to pick multiple commits and a single
commit.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff-tree_--pretty_--stat_initial')
0 files changed, 0 insertions, 0 deletions