


When specified, we follow what it says.In order to get the expected behavior, we need to change options.edit to a tri-state: unspecified, false, or true. However, the expected behavior is: Non-conflict commits Right after ConflictĮdit (ignore isatty(0)) Edit (ignore isatty(0)) Stopping for conflicts, the -no-edit flag is not saved so see (*) Before stopping for conflicts, No edit is the behavior. The behavior that previously existed was as follows: Non-conflict commits Right after ConflictĮdit iff isatty(0) Edit (ignore isatty(0)) Options.edit was also overly simplistic we had more than two cases. Make save_opts() record a value whenever it differs from the default. Roughly speaking, options.edit had a default value of 0 for cherry-pick but a default value of 1 for revert. Unfortunately, this does not always work for options.edit. It was intended to do this, but since most options in struct replay_opts default to 0, it only saved non-zero values. Save_opts() should save any non-default values. (Merged by Junio C Hamano - gitster - in commit 82fd285, ) sequencer: fix edit handling for cherry-pick and revert messages See commit 39edfd5 () by Elijah Newren ( newren). " revert -no-edit" after a conflict still asked to edit the message), which has been corrected with Git 2.32 (Q2 2021). Git cherry-pick/ revert with or without -edit did not spawn the editor as expected (e.g. With Git 2.32 (Q2 2021), tihs is no longer needed. From torek's answer: git -c core.editor=true cherry-pick -continue
