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

Re: [RFC] git-brebase

From
NWNico Williams <nico@cryptonector.com>
Date
Oct 3, 2026, 20:48 UTC
Message-ID
<asFqLv3hMEE7yEOC@ubby>
In-Reply-To
<asFoDZKscLKqaIf+@ubby>
On Sat, Oct 03, 2026 at 03:39:41PM -0500, Nico Williams wrote:
> that it deserves a name.  But also, `git-rebase(1)` should always have
> been this useful, so that argues for this to be either... a new option
> like `--onto-first-conflict`, or even a new default behavior.

I.e., maybe if I run `git rebase $upstream/$branch` and there's conflicts then it should do this bisection to drop me at the first upstream commit to introduce conflicts, stop, inform me of this, inform me that after I finish resolving conflicts I need to run `git rebase --continue` until that's done, that I should then `git rebase $upstream/$branch` again.

Additionally when `git rebase --continue` finishes successfully, if we're not at `$upstream/$branch` then `--continue` should run `git rebase $upstream/$branch` directly. This means recording the target committish along with other git rebase state during the rebase. This would feel very natural to me.

If we take this approach then we'd need an option not to enable this behavior but to disable it, something like `--direct`.

The more I think about it, the more I want this approach to be the default for `git rebase`. But maybe there's a good reason not to? Maybe first ship the option, then later make it the default?

Nico
Previous: Nico WilliamsNext: Alejandro Colomar
Message 4 of 13 in “[RFC] git-brebase”
  1. Alejandro ColomarOct 3, 2026
  2. Alejandro ColomarOct 3, 2026
  3. Nico WilliamsOct 3, 2026
  4. Nico WilliamsOct 3, 2026
  5. Alejandro ColomarOct 3, 2026
  6. Nico WilliamsOct 3, 2026
  7. Alejandro ColomarOct 3, 2026
  8. Nico WilliamsOct 3, 2026
  9. Alejandro ColomarOct 3, 2026
  10. Alejandro ColomarOct 3, 2026
  11. Nico WilliamsOct 3, 2026
  12. Alejandro ColomarOct 3, 2026
  13. Nico WilliamsOct 3, 2026

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.