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

Re: [PATCH] rebase -i -p: doesn't pick certain merge commits that are children of "upstream"

From
AWAndrew Wong <andrew.w@sohovfx.com>
Date
Jun 18, 2011, 16:47 UTC
Message-ID
<4DFCD6A5.7000707@sohovfx.com>
In-Reply-To
<20110618101718.6ff03688@sh9>
On 11-06-18 11:17 AM, Stephen Haberman wrote:
> Letting C1 into the todo would mean having to explain to the user why
> some of their reorderings worked and others didn't.

The bug section in rebase's documentation does mention that "attempts to reorder commits tend to produce counterintuitive results", which I think serves as a fairly good warning saying "reorder at your own risk". Also, if we do a "rebase-i-p A1", the C1 branch will appear in the todo list. A while ago I actually ran into this scenario, and I want to squash a commit onto the C1 branch, which I can't if I simply choose B1 as the base. To workaround it, I just made A1 the base so that the C1 branch will appear in the todo for me to squash upon. Otherwise, doing the squash onto C1 manually would've involved several more steps.

> I think that Jeff's use case of rebase-i-p'ing C1, which is not on the
> first-parent list of commits, should be an error as it delves into
> territory (topo reordering) that rebase-i-p can't fully handle.

There shouldn't be any topo-reordering unless the user explicitly changes the order of the commit. The user is faced with the same limitations (and bugs) as rebase-i-p'ing D1, so we shouldn't have to handle the C1 case any different. rebase is perfectly capable of handling the D1 case, just as how the C1 case is handled. We're only running into this issue because we're trying to filter out C1 when rebase-i-p'ing B1.

Previous: Stephen HabermanNext: Stephen Haberman
Message 24 of 28 in “[BUG] rebase -p loses commits”
  1. Jeff KingMay 16, 2011
  2. Andrew WongMay 16, 2011
  3. Junio C HamanoMay 16, 2011
  4. Andrew WongMay 17, 2011
  5. Junio C HamanoMay 17, 2011
  6. Junio C HamanoMay 17, 2011
  7. Jeff KingMay 17, 2011
  8. Andrew WongMay 17, 2011
  9. Jeff KingMay 17, 2011
  10. [RFC] Interactive-rebase doesn't pick all children of "upstream"Andrew Wong, May 21, 2011
  11. [RFC] Interactive-rebase doesn't pick all children of "upstream"Andrew Wong, May 21, 2011
  12. Andrew WongMay 21, 2011
  13. Interactive-rebase doesn't pick all children of "upstream"Andrew Wong, Jun 5, 2011
  14. Johannes SixtJun 5, 2011
  15. Andrew WongJun 5, 2011
  16. rebase -i -p: doesn't pick certain merge commits that are children of "upstream"Andrew Wong, Jun 7, 2011
  17. rebase -i -p: doesn't pick certain merge commits that are children of "upstream"Andrew Wong, Jun 7, 2011
  18. Andrew WongJun 12, 2011
  19. Junio C HamanoJun 13, 2011
  20. Andrew WongJun 13, 2011
  21. Stephen HabermanJun 16, 2011
  22. Andrew WongJun 18, 2011
  23. Stephen HabermanJun 18, 2011
  24. Andrew WongJun 18, 2011
  25. Stephen HabermanJun 18, 2011
  26. rebase -i -p: include non-first-parent commits in todo listAndrew Wong, Jun 18, 2011
  27. Andrew WongJun 18, 2011
  28. Jeff KingMay 17, 2011

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.