pr-1672/phillipwood/rebase-reject-merges-v1
tagged this
26 Feb 10:58
From: Phillip Wood <phillip.wood@dunelm.org.uk> The only todo commands that accept a merge commit are "merge" and "reset". All the other commands like "pick" or "reword" fail when they try to pick a a merge commit and print the message error: commit abc123 is a merge but no -m option was given. followed by a hint about the command being rescheduled. This message is designed to help the user when they cherry-pick a merge and forget to pass "-m". For users who are rebasing the message is confusing as there is no way for rebase to cherry-pick the merge. Improve the user experience by detecting the error when the todo list is parsed rather than waiting for the "pick" command to fail and print a message recommending the "merge" command instead. We recommend "merge" rather than "exec git cherry-pick -m ..." on the assumption that cherry-picking merges is relatively rare and it is more likely that the user chose "pick" by a mistake. It would be possible to support cherry-picking merges by allowing the user to pass "-m" to "pick" commands but that adds complexity to do something that can already be achieved with exec git cherry-pick -m1 abc123 The change is relatively straight forward but is complicated slightly as we now need to tell the parser if we're rebasing or not. Reported-by: Stefan Haller <lists@haller-berlin.de> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Submitted-As: https://lore.kernel.org/git/pull.1672.git.1708945087691.gitgitgadget@gmail.com
Assets 2
-
2024-02-26T10:58:07Z -
2024-02-26T10:58:07Z - Loading