Skip to contentSkip to conversation

gitsubmodules: add '--recurse-submodules' for 'ls-files'

PATCH In review Philippe Blain via GitGitGadget 2 participants 2 messages Oct 4, 2020 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gitsubmodules: add '--recurse-submodules' for 'ls-files'

From: Philippe Blain <[email protected]>

git ls-files was never taught to respect the submodule.recurse configuration variable, and it seems it is too late now to change that [1], but still the command is mentioned in 'gitsubmodules(7)' as if it does respect that config.

Adjust the call in 'gitsubmodules(7)' by adding the '--recurse-submodules' flag.

While at it, uniformize the capitalization in that file, and use backticks instead of quotes for Git commands and configuration variables.

[1] https://lore.kernel.org/git/[email protected]/T/#u

---
gitsubmodules: add '--recurse-submodules' for 'ls-files'

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-861%2Fphil-blain%2Fgitsubmodules-ls-files-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-861/phil-blain/gitsubmodules-ls-files-v1
Pull-Request: https://github.com/git/git/pull/861

 Documentation/gitsubmodules.txt | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)
Documentation/gitsubmodules.txt +13 -10
index f9f4e65c9e..891c8da4fd 100644
@@ -225,10 +225,10 @@ presence of the .url field.
 Workflow for a third party library
 ----------------------------------
 
-  # add a submodule
+  # Add a submodule
   git submodule add <url> <path>
 
-  # occasionally update the submodule to a new version:
+  # Occasionally update the submodule to a new version:
   git -C <path> checkout <new version>
   git add <path>
   git commit -m "update submodule to new version"
@@ -246,20 +246,23 @@ Workflow for an artificially split repo
   # regular commands recurse into submodules by default
   git config --global submodule.recurse true
 
-  # Unlike the other commands below clone still needs
+  # Unlike most other commands below, clone still needs
   # its own recurse flag:
   git clone --recurse <URL> <directory>
   cd <directory>
 
   # Get to know the code:
   git grep foo
-  git ls-files
+  git ls-files --recurse-submodules
+
+[NOTE]
+`git ls-files` also requires its own `--recurse-submodules` flag.
 
   # Get new code
   git fetch
   git pull --rebase
 
-  # change worktree
+  # Change worktree
   git checkout
   git reset
 
@@ -267,12 +270,12 @@ Implementation details
 ----------------------
 
 When cloning or pulling a repository containing submodules the submodules
-will not be checked out by default; You can instruct 'clone' to recurse
-into submodules. The 'init' and 'update' subcommands of 'git submodule'
+will not be checked out by default; you can instruct `clone` to recurse
+into submodules. The `init` and `update` subcommands of `git submodule`
 will maintain submodules checked out and at an appropriate revision in
-your working tree. Alternatively you can set 'submodule.recurse' to have
-'checkout' recursing into submodules (note that 'submodule.recurse' also
-affects other git commands, see linkgit:git-config[1] for a complete list).
+your working tree. Alternatively you can set `submodule.recurse` to have
+`checkout` recursing into submodules (note that `submodule.recurse` also
+affects other Git commands, see linkgit:git-config[1] for a complete list).
 
 
 SEE ALSO

base-commit: 306ee63a703ad67c54ba1209dc11dd9ea500dc1f

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 7 lines · Philippe Blain via GitGitGadget
Documentation/gitsubmodules.txt +1 -1
@@ -246,20 +246,23 @@ Workflow for an artificially split repo
   # regular commands recurse into submodules by default
   git config --global submodule.recurse true
 
-  # Unlike the other commands below clone still needs
+  # Unlike most other commands below, clone still needs
   # its own recurse flag:

Documentation/gitsubmodules.txt Workflow for an artificially split repo · line 259

Quoted 10 lines
Documentation/gitsubmodules.txt +4 -1
   git clone --recurse <URL> <directory>
   cd <directory>
 
   # Get to know the code:
   git grep foo
-  git ls-files
+  git ls-files --recurse-submodules
+
+[NOTE]
+`git ls-files` also requires its own `--recurse-submodules` flag.

Makes sense. Thanks, will queue.