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

Re: Amending merge commits?

From
SOSergei Organov <osv@javad.com>
Date
Jul 30, 2014, 18:28 UTC
Message-ID
<877g2uu2ew.fsf@osv.gnss.ru>
In-Reply-To
<CAK3OfOgcO9dmePtXCu9gUSf2bdQytJf9-RCZDXhv9Gy8UVyDOQ@mail.gmail.com>
Nico Williams <nico@cryptonector.com> writes:
Show 13 quoted lines
> On Wed, Jul 30, 2014 at 3:42 AM, Sergei Organov <osv@javad.com> wrote:
>> Nico Williams <nico@cryptonector.com> writes:
>>> Local merge commits mean that you either didn't rebase to keep all
>>> your local commits on top of the upstream, or that you have multiple
>>> upstreams (the example exception I gave).
>>
>> I rather have multiple (release) branches on single upstream, say, v2.3
>> and v2.4. When something needs to be fixed in 2.3, it's fixed there and
>> pushed upstream, then, on 2.4, the 2.3 is merged to it, and result is
>> pushed upstream. When I do this merge, I need to push the merge
>
> Hmm, why not cherry-pick the fix?  That's how every project I know
> that ports fixes across release branches does it.

Cherry-pick? Why bother? What problem do we solve, having no merges whatsoever? Why? GIT is so good at merges!

My impression is that people mostly rather do topic branches, and merge them wherever they need the fixes, no?

Show 11 quoted lines
>> upstream, and this won't work reliably when --rebase=true is acitve
>> (through pull.merge=rebase). If nothing changes upstream, I can simply
>> push this, and the merge is correctly preserved. However, if somebody
>> makes any changes upstream while I perform the merge, I'll need to pull
>> before pushing, and this immediately flattens-out my merge, that is
>> absolutely not what is needed here. Or I can simply pull before push,
>> just in case, and this flattens history even when there are no any
>> changes upstream!
>
> Does this change if you give your merge commits an different commit
> message?

Different from what? I'm almost sure commit message has nothing to do with it. Please refer to this explanation to see for yourself how git behaves when rebasing:

http://www.mail-archive.com/git%40vger.kernel.org/msg55605.html
Show 9 quoted lines
>
>>> Conversely, if you always rebase your local commits on top of the
>>> upstream then you won't have merge commits to worry about.
>>
>> Wrong. I do alwys rebase my local commits on top of upstream, but I
>> still do have my own merge commits to worry about, as explained above.
>
> If you cherry-pick the cross-release-branch commits you'll not have a
> merge commit to worry about.

I fail to see why do you consider merge commits to be an evil, really. I didn't think about cherry-picking carefully, but I don't feel cherry-picking is the best tool for the job here. I suspect random cherry-picking would create a mess, sooner or later.

-- 
Sergey.
Previous: Nico Williams
Message 10 of 10 in “Re: Amending merge commits?”
  1. Nico WilliamsJul 28, 2014
  2. Sergei OrganovJul 29, 2014
  3. Nico WilliamsJul 29, 2014
  4. Philip OakleyJul 29, 2014
  5. Nico WilliamsJul 29, 2014
  6. Philip OakleyJul 29, 2014
  7. Nico WilliamsJul 29, 2014
  8. Sergei OrganovJul 30, 2014
  9. Nico WilliamsJul 30, 2014
  10. Sergei OrganovJul 30, 2014

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.