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

[PATCH 2/5] submodule foreach: document '$sm_path' instead of '$path'

From
Stefan Beller <sbeller@google.com>
Date
May 3, 2018, 00:53 UTC
Message-ID
<20180503005358.89082-3-sbeller@google.com>
In-Reply-To
<20180503005358.89082-1-sbeller@google.com>
From: Prathamesh Chavan <pc44800@gmail.com>

As using a variable '$path' may be harmful to users due to capitalization issues, see 64394e3ae9 (git-submodule.sh: Don't use $path variable in eval_gettext string, 2012-04-17). Adjust the documentation to advocate for using $sm_path, which contains the same value. We still make the 'path' variable available and document it as a deprecated synonym of 'sm_path'.

Discussed-with: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Prathamesh Chavan <pc44800@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git-submodule.txt | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 71c5618e82a..755ed695f08 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -183,12 +183,14 @@ information too.
 
 foreach [--recursive] <command>::
 	Evaluates an arbitrary shell command in each checked out submodule.
-	The command has access to the variables $name, $path, $sha1 and
+	The command has access to the variables $name, $sm_path, $sha1 and
 	$toplevel:
 	$name is the name of the relevant submodule section in `.gitmodules`,
-	$path is the name of the submodule directory relative to the
-	superproject, $sha1 is the commit as recorded in the superproject,
-	and $toplevel is the absolute path to the top-level of the superproject.
+	$sm_path is the path of the submodule as recorded in the superproject,
+	$sha1 is the commit as recorded in the superproject, and
+	$toplevel is the absolute path to the top-level of the superproject.
+	Note that to avoid conflicts with '$PATH' on Windows, the '$path'
+	variable is now a deprecated synonym of '$sm_path' variable.
 	Any submodules defined in the superproject but not checked out are
 	ignored by this command. Unless given `--quiet`, foreach prints the name
 	of each submodule before evaluating the command.
-- 
2.17.0.441.gb46fe60e1d-goog
Previous: Jonathan TanNext: Jonathan Tan
Message 9 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.