subtree: fix assumption about the directory separator

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> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Jun 14, 2021 at 12:41 UTC 77f37de39fa96e4e5d59cda1e7e85c4784b48ee9
1 file changed +4 -3
contrib/subtree/git-subtree.sh
+4 -3
@@ -10,6 +10,7 @@ if test -z "$GIT_EXEC_PATH" || ! test -f "$GIT_EXEC_PATH/git-sh-setup" || {
10 test ! "$GIT_EXEC_PATH" -ef "${PATH%%:*}" 2>/dev/null
11 }
12 then
13 + basename=${0##*[/\\]}
14 echo >&2 'It looks like either your git installation or your'
15 echo >&2 'git-subtree installation is broken.'
16 echo >&2
@@ -17,10 +18,10 @@ then
18 echo >&2 " - If \`git --exec-path\` does not print the correct path to"
19 echo >&2 " your git install directory, then set the GIT_EXEC_PATH"
20 echo >&2 " environment variable to the correct directory."
20 - echo >&2 " - Make sure that your \`${0##*/}\` file is either in your"
21 + echo >&2 " - Make sure that your \`$basename\` file is either in your"
22 echo >&2 " PATH or in your git exec path (\`$(git --exec-path)\`)."
22 - echo >&2 " - You should run git-subtree as \`git ${0##*/git-}\`,"
23 - echo >&2 " not as \`${0##*/}\`." >&2
23 + echo >&2 " - You should run git-subtree as \`git ${basename#git-}\`,"
24 + echo >&2 " not as \`$basename\`." >&2
25 exit 126
26 fi
27