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

Re: [PATCH 3/2] ls-files: only recurse on active submodules

From
Stefan Beller <sbeller@google.com>
Date
Apr 13, 2017, 19:25 UTC
Message-ID
<CAGZ79kaRTrgHMnP6mA3V2rDHzf8iOidqLTpp2aXmi6x+6YeZxw@mail.gmail.com>
In-Reply-To
<CA+P7+xp=1PUsq1_or=J8ED+-1NMaF=BckC9bK4jqWbA+RFeszw@mail.gmail.com>
On Thu, Apr 13, 2017 at 12:12 PM, Jacob Keller <jacob.keller@gmail.com> wrote:
Show 15 quoted lines
> On Thu, Apr 13, 2017 at 12:05 PM, Stefan Beller <sbeller@google.com> wrote:
>> On Thu, Apr 13, 2017 at 11:57 AM, Brandon Williams <bmwill@google.com> wrote:
>>> Add in a check to see if a submodule is active before attempting to
>>> recurse.  This prevents 'ls-files' from trying to operate on a submodule
>>> which may not exist in the working directory.
>>
>> What would currently happen on recursing into non-active submodules?
>> Can we have a test for this?
>>
>> Thanks,
>> Stefan
>
> We should be able to test for this. Is it possible that we can recurse
> into a submodule as long as we have the clone in .git/modules/<name>
> even if we don't have it checked out currently?
Conceptually that should be possible, e.g.
    git ls-files --recurse-submodules <ancient ref>

where the ancient ref contained submodules that are not present any more. In that case we would need to do

    struct strbuf sb = STRBUF_INIT;
    struct child_process = CHILD_PROCESS_INIT;
    struct submodule *sub = submodule_from_path( \
        <path as recorded in ancient tree>, <ancient ref>)
    strbuf_git_path(&sb, "modules/%s", sub->name);
    argv_array_pushl(&cp.args, "git", "ls-files", "--recurse", ...);
    cp.dir = sb.buf;
    run_command(&cp);
Stefan
Previous: Jacob KellerNext: Jacob Keller
Message 19 of 33 in “ls-files: properly prepare submodule environment”
  1. ls-files: properly prepare submodule environmentJacob Keller, Apr 12, 2017
  2. Brandon WilliamsApr 12, 2017
  3. Jacob KellerApr 12, 2017
  4. 1/2 ls-files: fix recurse-submodules with nested submodulesJacob Keller, Apr 13, 2017
  5. 2/2 ls-files: fix path used when recursing into submodulesJacob Keller, Apr 13, 2017
  6. Brandon WilliamsApr 13, 2017
  7. Stefan BellerApr 13, 2017
  8. Jacob KellerApr 13, 2017
  9. Junio C HamanoApr 18, 2017
  10. Jacob KellerApr 18, 2017
  11. Stefan BellerApr 18, 2017
  12. Brandon WilliamsApr 13, 2017
  13. Jacob KellerApr 13, 2017
  14. Stefan BellerApr 13, 2017
  15. Brandon WilliamsApr 13, 2017
  16. 3/2 ls-files: only recurse on active submodulesBrandon Williams, Apr 13, 2017
  17. Stefan BellerApr 13, 2017
  18. Jacob KellerApr 13, 2017
  19. Stefan BellerApr 13, 2017
  20. Jacob KellerApr 13, 2017
  21. Jacob KellerApr 14, 2017
  22. Stefan BellerApr 14, 2017
  23. Jacob KellerApr 14, 2017
  24. Junio C HamanoApr 19, 2017
  25. paul@myitcv.ioMay 12, 2017
  26. Brandon WilliamsMay 12, 2017
  27. Paul JollyMay 12, 2017
  28. Brandon WilliamsMay 12, 2017
  29. Paul JollyAug 1, 2017
  30. Brandon WilliamsAug 1, 2017
  31. Paul JollyAug 1, 2017
  32. Brandon WilliamsAug 1, 2017
  33. Junio C HamanoAug 1, 2017

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.