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

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

From
Prathamesh Chavan <pc44800@gmail.com>
Date
Feb 2, 2018, 04:57 UTC
Message-ID
<20180202045745.5076-3-pc44800@gmail.com>
In-Reply-To
<20180202045745.5076-1-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>
---
 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 ff612001d..a23baef62 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.15.1
Previous: Stefan BellerNext: Prathamesh Chavan
Message 6 of 9 in “Incremental rewrite of git-submodules”
  1. 0/5 Incremental rewrite of git-submodulesPrathamesh Chavan, Feb 2, 2018
  2. 1/5 submodule foreach: correct '$path' in nested submodules from a subdirectoryPrathamesh Chavan, Feb 2, 2018
  3. Jonathan TanFeb 6, 2018
  4. Jonathan TanFeb 6, 2018
  5. Stefan BellerFeb 6, 2018
  6. 2/5 submodule foreach: document '$sm_path' instead of '$path'Prathamesh Chavan, Feb 2, 2018
  7. 3/5 submodule foreach: clarify the '$toplevel' variable documentationPrathamesh Chavan, Feb 2, 2018
  8. 4/5 submodule foreach: document variable '$displaypath'Prathamesh Chavan, Feb 2, 2018
  9. 5/5 submodule: port submodule subcommand 'foreach' from shell to CPrathamesh Chavan, Feb 2, 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.