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

Re: [PATCH v2] Fix status of initialized but not cloned submodules

From
PKPeter Kästle <peter.kaestle@nokia.com>
Date
Jan 27, 2020, 08:52 UTC
Message-ID
<41a835a3-3809-eda8-fb3c-30fe9fac1a24@nokia.com>
In-Reply-To
<xmqqblqs3hbv.fsf@gitster-ct.c.googlers.com>
Hi,
On 24.01.20 18:16, Junio C Hamano wrote:
> Peter Kästle <peter.kaestle@nokia.com> writes:
[...]
Show 13 quoted lines
>> Is 3) even a possible use-case?
> 
> That would be somebody who is about to add a submodule to an
> existing project, right?  You have a top-level project, you need
> somebody else's project as its submodule or you need to use a
> library in your top-level project and you develop the library
> yourself, but want to keep that library part separate from its first
> user which is your top-level project.  So in the working tree of a
> top-level project you either "git init lib/" and start the submodule
> project right there, or "git clone $URL_of_upstream_of_lib lib/",
> and then plan to do "git submodule add lib", but haven't done so
> yet.  .gitmodules does not know about it, but the directory is
> already populated and is a valid repository.

You are right, this is a possible scenario for 3). However the question about how the outer git repo should behave is still open to me. I mean, the outer git repo should treat the inner one as standard file structure and not as a submodule until the user explicitly calls the "git submodule add" command. And thus "git submodule status" should completely skip it. Calling "git status" in the outer repo should list the inner one as "untracked" or? At least this is, what I would expect. So from my point of view the only test for 3) we could do is something like this: mkdir innerfoo && (cd innerfoo && git init) && test_must_fail git submodule status | grep "innerfoo"

Show 5 quoted lines
>> Besides that, I think testcases for man git-submodule's description of
>> status on merge conflicts are missing (...[prefix] U if the submodule
>> has merge conflicts).
> 
> Nice to know.  Thanks.

Maybe I'll have spare time next weekend to create some. Not to promise anything, but sounds like fun.

-- 
best regards,
--peter;
Previous: Junio C HamanoNext: Junio C Hamano
Message 14 of 16 in “Fix submodule status of dirs initialized but empty”
  1. Fix submodule status of dirs initialized but emptyPeter Kästle, Jan 14, 2020
  2. Fix status of initialized but not cloned submodulesPeter Kaestle, Jan 21, 2020
  3. Junio C HamanoJan 23, 2020
  4. 1/2 Testcase for submodule status on empty dirsPeter Kaestle, Jan 24, 2020
  5. 2/2 Fix status of initialized but not cloned submodulesPeter Kaestle, Jan 24, 2020
  6. Junio C HamanoJan 24, 2020
  7. 1/2 t7400: add a testcase for submodule status on empty dirsPeter Kaestle, Jan 27, 2020
  8. 2/2 Fix status of initialized but not cloned submodulesPeter Kaestle, Jan 27, 2020
  9. Junio C HamanoJan 27, 2020
  10. Peter KästleJan 28, 2020
  11. t7400: testcase for submodule status on unregistered inner git reposPeter Kaestle, Feb 2, 2020
  12. Peter KästleJan 24, 2020
  13. Junio C HamanoJan 24, 2020
  14. Peter KästleJan 27, 2020
  15. Junio C HamanoJan 27, 2020
  16. Peter KästleFeb 2, 2020

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.