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

Re: [PATCH 1/5] submodule foreach: correct '$path' in nested submodules from a subdirectory

From
JTJonathan Tan <jonathantanmy@google.com>
Date
May 4, 2018, 21:03 UTC
Message-ID
<20180504140346.f088452c4a73539ef140a1da@google.com>
In-Reply-To
<CAGZ79kYq0Qs7tvG0NEYwKHeYxF_tN1-eZA2skdjCiDZ4JkyuRQ@mail.gmail.com>

On Thu, 3 May 2018 11:12:27 -0700 Stefan Beller <sbeller@google.com> wrote:

Show 13 quoted lines
> >> There are three different possible solutions that have more value:
> >> (a) The path value is documented as the path from the toplevel of the
> >>     superproject to the mount point of the submodule. If 'the' refers to
> >>     the superproject holding this submodule ('sub' holding 'nested'),
> >>     the path would be expected to be path='nested'.
> >
> > What is "the", and why is it quoted?
> 
> because it is unclear what is emphasizes.
> It could be the intermediate (direct) superproject, or it
> could be the topmost superproject (where the command was run from).
> 
> Just having "the", makes it unclear which of both it refers to.
Ah, I see - so s/'the'/'the superproject'/
> >> (b) In case 'the' superproject is referring to the toplevel, which
> >>     is the superproject in which the original command was invoked,
> >>     then path is expected to be path='sub/nested'.
And here, s/'the' superproject/'the superproject'/
Show 6 quoted lines
> > Same comment about "the", and I think s/toplevel, which is the
> > superproject in which the original command was invoked/outermost
> > superproject/.
> 
> The outermost superproject may not be the one you invoke the
> command in.

Good point. Maybe "the superproject the original command was run from", but I'm open to a better name. So I would write the beginning as follows:

  <your first paragraph starting with "When running">
  Also, in git-submodule.txt, $path is documented to be the "name of the
  submodule directory relative to the superproject", but "the
  superproject" is ambiguous.
  To resolve both these issues, we could:
  (a) Change "the superproject" to "its immediate superproject", so
      $path would be "nested" instead of "../nested".
  (b) Change "the superproject" to "the superproject the original
      command was run from", so $path would be "sub/nested" instead of
      "../nested".
  (c) Change "the superproject" to "the directory the original command
      was run from", so $path would be "../sub/nested" instead of
      "../nested".
Going back to the original patch:
Show 5 quoted lines
> The behavior for (c) was introduced in 091a6eb0fe (submodule: drop the
> top-level requirement, 2013-06-16) the intent for $path seemed to be
> relative to $cwd to the submodule worktree, but that did not work for
> nested submodules, as the intermittent submodules were not included in
> the path.

The (c) behavior was never really introduced, right? 091a6eb0fe attempted to introduce (c), but it didn't work when --recursive was specified.

Previous: Stefan BellerNext: Stefan Beller
Message 6 of 22 in “Rebooting pc/submodule-helper-foreach”
  1. 0/5 Rebooting pc/submodule-helper-foreachStefan Beller, May 3, 2018
  2. 1/5 submodule foreach: correct '$path' in nested submodules from a subdirectoryStefan Beller, May 3, 2018
  3. Ramsay JonesMay 3, 2018
  4. Jonathan TanMay 3, 2018
  5. Stefan BellerMay 3, 2018
  6. Jonathan TanMay 4, 2018
  7. 3/5 submodule foreach: clarify the '$toplevel' variable documentationStefan Beller, May 3, 2018
  8. Jonathan TanMay 3, 2018
  9. 2/5 submodule foreach: document '$sm_path' instead of '$path'Stefan Beller, May 3, 2018
  10. Jonathan TanMay 3, 2018
  11. 4/5 submodule foreach: document variable '$displaypath'Stefan Beller, May 3, 2018
  12. 5/5 submodule: port submodule subcommand 'foreach' from shell to CStefan Beller, May 3, 2018
  13. Stefan BellerMay 3, 2018
  14. Jonathan TanMay 3, 2018
  15. 0/4 Rebooting pc/submodule-helper-foreachStefan Beller, May 9, 2018
  16. 1/4 submodule foreach: correct '$path' in nested submodules from a subdirectoryStefan Beller, May 9, 2018
  17. 2/4 submodule foreach: document '$sm_path' instead of '$path'Stefan Beller, May 9, 2018
  18. 3/4 submodule foreach: document variable '$displaypath'Stefan Beller, May 9, 2018
  19. 4/4 submodule: port submodule subcommand 'foreach' from shell to CStefan Beller, May 9, 2018
  20. Junio C HamanoMay 10, 2018
  21. submodule: port submodule subcommand 'foreach' from shell to CStefan Beller, May 10, 2018
  22. Jonathan TanMay 9, 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.