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

Re: proper way to merge?

From
BDBryan Donlan <bdonlan@gmail.com>
Date
Mar 2, 2009, 08:33 UTC
Message-ID
<3e8340490903020033l78329c82la186cadaa528bc32@mail.gmail.com>
In-Reply-To
<450196A1AAAE4B42A00A8B27A59278E709F06FDA@EXCHANGE.trad.tradestation.com>
On Fri, Feb 27, 2009 at 5:11 PM, John Dlugosz <JDlugosz@tradestation.com> wrote:
Show 17 quoted lines
> I'm merging two branches: let's say "dev" is for development of future
> releases, and "rel" is changes made to the current release for immediate
> application.  Now I want to bring the changes made in rel back to dev.
>
> Rather than trying to merge it all at once, I'm applying the changes a
> few at a time and making sure it still compiles as I go.  Then,
> git-reset and I have dev as my HEAD and the desired merge result in the
> working tree.
>
> Now, I want to introduce the proper commit node to show that this is the
> graft.  But, I don't want to be presented with all the differences that
> I already resolved; I know what it should look like already.  How do I
> commit the current state of things and have it show up with both dev and
> rel as parents? (then make that the new dev)
>
> I'm also interesting in learning how to do it better next time.  But I'm
> doing the incremental merging now and need to know how to conclude it.

So, if I understand correctly, you've manually applied (manually applying diffs or something?) your changes from the release branch to the dev branch, and now want to inform git of what happened?

If so, you could commit what you have now, use a graft to change its parentage, then git-filter-branch to actually update the commit object. Something like this, I believe: git commit -m 'Merge .....' echo '<full 40-character commit ID of the merge> <parent on the dev branch> <parent on the release branch>' >> .git/info/grafts git-filter-branch dev~..dev ## You can remove (that line from) .git/info/grafts now

In the future, you may want to perform this sort of incremental merge by simply git merging intermediate revisions in the release branch.

Previous: John TapsellNext: John Dlugosz
Message 5 of 9 in “proper way to merge?”
  1. John DlugoszFeb 27, 2009
  2. John TapsellFeb 28, 2009
  3. John DlugoszMar 2, 2009
  4. John TapsellMar 3, 2009
  5. Bryan DonlanMar 2, 2009
  6. John DlugoszMar 2, 2009
  7. Johannes SixtMar 3, 2009
  8. John DlugoszMar 3, 2009
  9. Johannes SixtMar 3, 2009

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.