git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Feb 26, 2024, 10:56 UTC
Message-ID
<b4781808-f722-4be5-906f-4c3409c3295c@gmail.com>
In-Reply-To
<2739325d-93b1-445c-aac9-3e0ec54a27e4@haller-berlin.de>
Hi Stefan
On 23/02/2024 20:59, Stefan Haller wrote:
> On 12.02.24 15:38, Phillip Wood wrote:
>> Hi Patrick and Stefan
 >>
Show 16 quoted lines
>> It would certainly be possible to extend the sequencer to do that but
>> I'm not familiar with why people use "git cherry-pick -m" [1] so I'm
>> wondering what this would be used for. It would involve a bit of extra
>> complexity so I think we'd want a compelling reason as to why
>> cherry-picking merges without maintaining the topology is useful
>> especially as one can currently do that via "exec git cherry-pick -m ..."
> 
> Ok, I suppose the answer will probably not count as a compelling reason.
> My reason for wanting this is that lazygit currently implements
> cherry-picking in terms of an interactive rebase, rather then calling
> git-cherry-pick. And the reason why it does this is that when you
> cherry-pick multiple commits, and one of them conflicts, then you get
> lazygit's nice visualization of the rebase todo list to show you where
> in the sequence you are, what the conflicting commit is, how many are
> left etc. It just happens to support this well for
> .git/rebase-merge/git-rebase-todo, but not for .git/sequencer/todo.

Thanks for the context. I can see how that is convenient for lazygit (and makes we think that perhaps we should teach "git status" to show pending cherry-picks) but I'm afraid I don't think that is a good reason for adding the ability to pick merges to git rebase.

> It probably makes more sense to teach lazygit to visualize the
> .git/sequencer/todo file, and then use git cherry-pick.

If lazygit is generating the todo list for the cherry-pick could it check if the commit is a merge and insert "exec cherry-pick -m ..." for those commits? The UI could detect that and display something more user friendly for those lines in the todo list. It is still more work for lazygit but perhaps less than supporting cherry-picks directly.

Best Wishes
Phillip
Previous: Stefan HallerNext: Stefan Haller
Message 7 of 10 in “Interactive rebase: using "pick" for merge commits”
  1. Stefan HallerFeb 9, 2024
  2. Phillip WoodFeb 9, 2024
  3. Stefan HallerFeb 10, 2024
  4. Patrick SteinhardtFeb 12, 2024
  5. Phillip WoodFeb 12, 2024
  6. Stefan HallerFeb 23, 2024
  7. Phillip WoodFeb 26, 2024
  8. Stefan HallerFeb 26, 2024
  9. phillip.wood123@gmail.comFeb 27, 2024
  10. Junio C HamanoFeb 12, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.