Thread (1 message) 1 message, 1 author, 2024-02-12

Re: Interactive rebase: using "pick" for merge commits

From: Junio C Hamano <hidden>
Date: 2024-02-12 16:39:33

Patrick Steinhardt [off-list ref] writes:
On Sat, Feb 10, 2024 at 10:23:16AM +0100, Stefan Haller wrote:
quoted
On 09.02.24 17:24, Phillip Wood wrote:
quoted
On 09/02/2024 15:52, Stefan Haller wrote:
quoted
When I do an interactive rebase, and manually enter a "pick" with the
commit hash of a merge commit, I get the following confusing error
message:

error: commit fa1afe1 is a merge but no -m option was given.

Is it crazy to want pick to work like this? Should it be supported?
It causes problems trying to maintain the topology. In the past there
was a "--preserve-merges" option that allowed one to "pick" merges but
it broke if the user edited the todo list. The "--rebase-merges" option
was introduced with the "label", "reset" and "merge" todo list
instructions to allow the user to control the topology.
Yes, I'm familiar with all this, but that's not what I mean. I don't
want to maintain the topology here, and I'm also not suggesting that git
itself generates such "pick" entries with -mX arguments (maybe I wasn't
clear on that). What I want to do is to add such entries myself, as a
user, resulting in the equivalent of doing a "break" at that point in
the rebase and doing a "git cherry-pick -mX <hash-of-merge-commit>"
manually.
It would be neat indeed if this could be specified in the instruction
sheet. We already support options for the "merge" instruction, so
extending "pick" to support options isn't that far-fetched. Then it
would become possible to say "pick -m1 fa1afe1".
Would adding "x git cherry-pick -m 1 $that_one" work there?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help