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

Re: [PATCH v2 3/3] Add option to transpose parents of merge commit

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 28, 2012, 16:52 UTC
Message-ID
<7vr4ndhdp7.fsf@alter.siamese.dyndns.org>
In-Reply-To
<50B5B599.3020105@viscovery.net>
Johannes Sixt <j.sixt@viscovery.net> writes:
Show 30 quoted lines
> Am 11/28/2012 0:00, schrieb Kacper Kornet:
>> When the changes are pushed upstream, and in the meantime someone else
>> updated upstream branch git advises to use git pull. This results in
>> history:
>> 
>>      ---A---B---C--
>>          \     /
>>           D---E
>
> The commit message will say:
>
>   Merge branch 'master' of /that/remote
>
>   * 'master' of /that/remote:
>     E
>     D
>
>> where B is the local commit. D, E are commits pushed by someone else
>> when the developer was working on B. However sometimes the following
>> history is preferable:
>> 
>>     ---A---D---C'--
>>         \     /
>>          '-B-'
>
> Better:
>
>      ---A--D--E--C'
>          \      /
>           `----B
Yup, that topology is what Kacper's workflow wants.

Stepping back a bit, however, I am not sure if that is really true. The goal of this topic seems to be to keep one integration branch and always merge *into* that integration branch, never *from* it, but for what purpose? Making the "log --first-parent" express the integration branch as a linear series of progress? If so, I suspect a project with such a policy would dictate that D and E also be on a side branch, i.e. the history would look more like this:

      D---E
     /     \
  --A-------X---C---
     \         /
      `-------B

with X being a --no-ff merge of the topic that consists of these two commits.

> In this case, the commit message should say... what? Certainly not the
> same thing. But I do not see that you changed anything in this regard.

True. If the goal is to emulate a merge of B from a side branch into _the_ integration branch, the summary should also emulate the message that would be given when the remote pulled from your current branch.

Previous: Johannes Sixt
Message 11 of 11 in “Add option to change order of parents in merge commit”
  1. 0/3 Add option to change order of parents in merge commitKacper Kornet, Nov 27, 2012
  2. 1/3 Process MERGE_MODE before MERGE_HEADKacper Kornet, Nov 27, 2012
  3. 2/3 Allow for MERGE_MODE to specify more then one modeKacper Kornet, Nov 27, 2012
  4. Junio C HamanoNov 28, 2012
  5. Kacper KornetNov 28, 2012
  6. Junio C HamanoNov 28, 2012
  7. 3/3 Add option to transpose parents of merge commitKacper Kornet, Nov 27, 2012
  8. Junio C HamanoNov 28, 2012
  9. Kacper KornetNov 28, 2012
  10. Johannes SixtNov 28, 2012
  11. Junio C HamanoNov 28, 2012

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.