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

Re: git merge banch w/ different submodule revision

From
Heiko Voigt <hvoigt@hvoigt.net>
Date
Apr 30, 2018, 17:02 UTC
Message-ID
<20180430170229.GA775@book.hvoigt.net>
In-Reply-To
<CAGZ79kaub2k-q-Mcj3H5o6ekyZ8ZZzG7+r5sHt5Ne25Nc3_nPQ@mail.gmail.com>
On Thu, Apr 26, 2018 at 03:19:36PM -0700, Stefan Beller wrote:
Show 7 quoted lines
> Stefan wrote:
> > See https://github.com/git/git/commit/68d03e4a6e448aa557f52adef92595ac4d6cd4bd
> > (68d03e4a6e (Implement automatic fast-forward merge for submodules, 2010-07-07)
> > to explain the situation you encounter. (specifically merge_submodule
> > at the end of the diff)
> 
> +cc Heiko, author of that commit.

In that commit we tried to be very careful about. I do not understand the situation in which the current strategy would be wrong by default.

We only merge if the following applies:
 * The changes in the superproject on both sides point forward in the
   submodule.
 * One side is contained in the other. Contained from the submodule
   perspective. Sides from the superproject merge perspective.

So in case of the mentioned rewind of a submodule: Only one side of the 3-way merge would point forward and the merge would fail.

I can imagine, that in case of a temporary revert of a commit in the submodule that you would not want that merged into some other branch. But that would be the same without submodules. If you merge a temporary revert from another branch you will not get any conflict.

So maybe someone can explain the use case in which one would get the results that seem wrong?

Cheers Heiko
Previous: Stefan BellerNext: Middelschulte, Leif
Message 5 of 16 in “git merge banch w/ different submodule revision”
  1. Middelschulte, LeifApr 26, 2018
  2. Stefan BellerApr 26, 2018
  3. Jacob KellerApr 26, 2018
  4. Stefan BellerApr 26, 2018
  5. Heiko VoigtApr 30, 2018
  6. Middelschulte, LeifMay 2, 2018
  7. Heiko VoigtMay 3, 2018
  8. Middelschulte, LeifMay 4, 2018
  9. Heiko VoigtMay 4, 2018
  10. Elijah NewrenMay 4, 2018
  11. Middelschulte, LeifMay 7, 2018
  12. Elijah NewrenApr 27, 2018
  13. Elijah NewrenApr 27, 2018
  14. Middelschulte, LeifApr 27, 2018
  15. Elijah NewrenApr 28, 2018
  16. Jacob KellerApr 28, 2018

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.