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

[PATCH 2/2] subtree: fix assumption about the directory separator

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Jun 10, 2021, 09:13 UTC
Message-ID
<4e1a569c9fa494fa9bb1bfde14d77ac9751d9049.1623316412.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.978.git.1623316412.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>

On Windows, both forward and backslash are valid separators. In 22d550749361 (subtree: don't fuss with PATH, 2021-04-27), however, we added code that assumes that it can only be the forward slash.

Let's fix that.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 contrib/subtree/git-subtree.sh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index 6bd689a6bb92..d11ac56f9eb8 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -13,6 +13,8 @@ if test -z "$GIT_EXEC_PATH" || {
 	}
 } || ! test -f "$GIT_EXEC_PATH/git-sh-setup"
 then
+	base=${0##*/}
+	base=${base##*\\}
 	echo >&2 'It looks like either your git installation or your'
 	echo >&2 'git-subtree installation is broken.'
 	echo >&2
@@ -20,10 +22,10 @@ then
 	echo >&2 " - If \`git --exec-path\` does not print the correct path to"
 	echo >&2 "   your git install directory, then set the GIT_EXEC_PATH"
 	echo >&2 "   environment variable to the correct directory."
-	echo >&2 " - Make sure that your \`${0##*/}\` file is either in your"
+	echo >&2 " - Make sure that your \`$base\` file is either in your"
 	echo >&2 "   PATH or in your git exec path (\`$(git --exec-path)\`)."
-	echo >&2 " - You should run git-subtree as \`git ${0##*/git-}\`,"
-	echo >&2 "   not as \`${0##*/}\`." >&2
+	echo >&2 " - You should run git-subtree as \`git ${base#git-}\`,"
+	echo >&2 "   not as \`$base\`." >&2
 	exit 126
 fi
 
-- 
gitgitgadget
Previous: Jeff KingNext: Luke Shumaker
Message 16 of 27 in “Fix git subtree on Windows”
  1. 0/2 Fix git subtree on WindowsJohannes Schindelin via GitGitGadget, Jun 10, 2021
  2. 1/2 subtree: fix the GIT_EXEC_PATH sanity check to work on WindowsJohannes Schindelin via GitGitGadget, Jun 10, 2021
  3. Luke ShumakerJun 11, 2021
  4. Junio C HamanoJun 11, 2021
  5. Luke ShumakerJun 11, 2021
  6. Johannes SchindelinJun 11, 2021
  7. Luke ShumakerJun 11, 2021
  8. Johannes SchindelinJun 14, 2021
  9. Junio C HamanoJun 15, 2021
  10. Jeff KingJun 15, 2021
  11. Bagas SanjayaJun 15, 2021
  12. Jeff KingJun 15, 2021
  13. Johannes SchindelinJun 15, 2021
  14. Junio C HamanoJun 16, 2021
  15. Jeff KingJun 16, 2021
  16. 2/2 subtree: fix assumption about the directory separatorJohannes Schindelin via GitGitGadget, Jun 10, 2021
  17. Luke ShumakerJun 11, 2021
  18. Johannes SchindelinJun 11, 2021
  19. Luke ShumakerJun 11, 2021
  20. Johannes SchindelinJun 11, 2021
  21. Luke ShumakerJun 11, 2021
  22. Felipe ContrerasJun 11, 2021
  23. Luke ShumakerJun 12, 2021
  24. 0/2 Fix git subtree on WindowsJohannes Schindelin via GitGitGadget, Jun 14, 2021
  25. 2/2 subtree: fix assumption about the directory separatorJohannes Schindelin via GitGitGadget, Jun 14, 2021
  26. 1/2 subtree: fix the GIT_EXEC_PATH sanity check to work on WindowsJohannes Schindelin via GitGitGadget, Jun 14, 2021
  27. Junio C HamanoJun 15, 2021

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.