Currently, if 'git cherry-pick --no-commit' is run _and the cherry-pick operation is successful_, the metadata from the original revision is lost and to git it's like a cherry-pick operation is not taking place at all. Hence, we can't wrap up the cherry-pick operation by calling 'git cherry-pick --continue'. With this patch, we allow sequencer to save the metadata from the original cherry-pick operation so that 'git cherry-pick --continue' can be called. Signed-off-by: Edmundo Carmona Antoranz <eantoranz@xxxxxxxxx> --- sequencer.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sequencer.c b/sequencer.c index 00acb12496..c1ccbe0faf 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2022,9 +2022,8 @@ static int do_pick_commit(struct repository *r, * However, if the merge did not even start, then we don't want to * write it at all. */ - if ((command == TODO_PICK || command == TODO_REWORD || - command == TODO_EDIT) && !opts->no_commit && - (res == 0 || res == 1) && + if ((command == TODO_PICK || command == TODO_REWORD || command == TODO_EDIT) + && ((res == 0 && opts->no_commit) || (res == 1 && !opts->no_commit)) && update_ref(NULL, "CHERRY_PICK_HEAD", &commit->object.oid, NULL, REF_NO_DEREF, UPDATE_REFS_MSG_ON_ERR)) res = -1; -- 2.28.0