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

"bubbling up" patches in a commit sequence.

From
Ddemerphq <demerphq@gmail.com>
Date
Aug 13, 2022, 08:45 UTC
Message-ID
<CANgJU+VYSuEkU+V0WRpsTPv9iPYeDo52MeMHuD7-Yp4JnA60NA@mail.gmail.com>
Hi all,

I keep finding myself using interactive rebase to try to find the earliest place in a change sequence that a given commit can be placed without conflicting with any other patch. When I am tired I do this by repeatedly moving the given commit up by one or two lines manually and then letting rebase interactive apply the new ordering, when it conflicts I abort and stop and either leave the patch in its new position or more likely use the "fixup" option to merge it with the patch it conflicts with. Sometimes when I am more awake I try to do a binary search pattern :-), but regardless the process is tedius. I call this "bubbling up a patch".

In general I do this when I want to find a "fixup" pair that should be merged together before the PR is pushed, but there are other reasons, sometimes a PR contains a number of sub topics which are evolving and using this technique can help the patches related to different sub topics be grouped together for easier review.

Anybody created tooling to do something like this? Or suggestions on how to approach it efficiently?

For instance i would love to have tool that could give me a list of the patches in my topic branch with information about which commits they have to be after to not conflict (or some other way to understand the "conflict properties" of the commit graph), and a way to move a commit to the earliest position in the patch sequence where it would not commit.

Please forgive me for not using the correct specialist git jargon for these concepts, if there is any.

cheers, Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Next: Jeff King
Message 1 of 3 in “"bubbling up" patches in a commit sequence.”
  1. demerphqAug 13, 2022
  2. Jeff KingAug 14, 2022
  3. Johannes SchindelinAug 15, 2022

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.