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

Re: [PATCH] git-new-workdir: support submodules

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 24, 2015, 01:37 UTC
Message-ID
<xmqqegqlnelu.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAGXKyzEwAjCNTxRtjSuFh9b6BzzOYKOQryKtXBGY3_hkkFvyVw@mail.gmail.com>
Craig Silverstein <csilvers@khanacademy.org> writes:
Show 28 quoted lines
>>> Doesn't a submodule checkout keep some state tied to the working
>>> tree in its repository configuration file?
>>
>> Do you mean, in 'config' itself?  If so, I don't see it.  (Though it's
>> possible there are ways to use submodules that do keep working-tree
>> state in the config file, and we just happen not to use those ways.)
>> Here's what my webapp/.git/modules/khan-exercises/config looks like:
>> ---
>> [core]
>>         repositoryformatversion = 0
>>         filemode = true
>>         bare = false
>>         logallrefupdates = true
>>         worktree = ../../../khan-exercises
>> [remote "origin"]
>>         url = http://github.com/Khan/khan-exercises.git
>>         fetch = +refs/heads/*:refs/remotes/origin/*
>> [branch "master"]
>>         remote = origin
>>         merge = refs/heads/master
>>         rebase = true
>> [submodule "test/qunit"]
>>         url = https://github.com/jquery/qunit.git
>> --
>>
>> The only thing that seems vaguely working-tree related is the
>> 'worktree' field, which is the field that motivated me to set up my
>> patch the way it is.

That is the location of the working tree of the top-level superproject. Tied to the state of the submodule working tree appear in [submodule "test/qunit"] part.

In one new-workdir checkout, that submodule may be "submodule init"ed, while another one, it may not be.

Or one new-workdir checkout's branch may check out a top-level project from today while the other one may have a top-level project from two years ago, and between these two checkouts of the top-level project, the settings of submodule."test/qunit".* variables may have to be different (perhaps even URL may have to point at two different repositories, one historical one to grab the state two years ago, the other current one).

So sharing config between top-level checkouts may not be enough to "support submodules" (the patch title).

Previous: Craig SilversteinNext: Craig Silverstein
Message 3 of 11 in “Re: [PATCH] git-new-workdir: support submodules”
  1. Craig SilversteinDec 23, 2014
  2. Craig SilversteinJan 24, 2015
  3. Junio C HamanoJan 24, 2015
  4. Craig SilversteinJan 25, 2015
  5. Junio C HamanoJan 26, 2015
  6. Craig SilversteinJan 26, 2015
  7. Junio C HamanoJan 26, 2015
  8. Jens LehmannJan 27, 2015
  9. Duy NguyenJan 28, 2015
  10. Duy NguyenJan 28, 2015
  11. Junio C HamanoJan 28, 2015

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.