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

Re: Feature Request: Branch-Aware Submodules

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 25, 2016, 20:50 UTC
Message-ID
<xmqqlgzklgiy.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAGZ79kbHfofmowHnwzFrumc1XJHE=ZMQEwNSeOSyF7YDG+aSjw@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
Show 22 quoted lines
> +cc Jacob and Lars who work with submodules as well.
>
> On Thu, Aug 25, 2016 at 2:00 AM, Hedges  Alexander
> <ahedges@student.ethz.ch> wrote:
>>
>> Right now updating a submodule in a topic branch and merging it into master
>> will not change the submodule index in master leading to at least two commit
>> for the same change (one in any active branch). This happened to me quite a few
>> times. To a newcomer this behavior is confusing and it leads to unnecessary
>> commits.
>
> So you roughly do
>
>     git checkout -b new-topic
>     # change the submodule to point at the latest upstream version:
>     git submodule update --remote <submodule-path>
>     git commit -a -m "update submodule"
>     git checkout master
>     git merge new-topic
>     # here seems to be your point of critic?
>     # now the submodule pointer would still point to the latest
> upstream version?

Isn't <submodule-path> subject to the usual 3-way merge when the last step (i.e. a merge of new-topic branch into master in the superproject) is made? If 'master' hasn't changed <submodule-path> since 'new-topic' forked from it, because 'new-topic' updated the commit bound at <submodule-path>, doesn't "git merge new-topic" just take that change as the normal "One side updated, the other did not touch; take the update" merge?

Previous: Stefan BellerNext: Stefan Beller
Message 3 of 6 in “Feature Request: Branch-Aware Submodules”
  1. Hedges AlexanderAug 25, 2016
  2. Stefan BellerAug 25, 2016
  3. Junio C HamanoAug 25, 2016
  4. Stefan BellerAug 25, 2016
  5. Junio C HamanoAug 25, 2016
  6. Junio C HamanoAug 25, 2016

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.