On Windows, we have to juggle two different schemes of representing paths: the native, Windows paths (the only ones known to the main Git executable) on the one hand, and POSIX-ish ones used by the Bash through MSYS2's POSIX emulation layer on the other hand. A Windows path looks like this: C:\git-sdk-64\usr\src\git. In modern Windows, it is almost always legal to use forward slashes as directory separators, which is the reason why the Git executable itself would use the path C:/git-sdk-64/usr/src/git instead. The equivalent POSIX-ish path would be: /c/git-sdk-64/usr/src/git. This patch works around the assumption of t2300-cd-to-toplevel.sh that `git --exec-path` spits out a POSIX-ish path, by converting the output accordingly. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- t/t2300-cd-to-toplevel.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/t/t2300-cd-to-toplevel.sh b/t/t2300-cd-to-toplevel.sh index cccd7d9..c8de6d8 100755 --- a/t/t2300-cd-to-toplevel.sh +++ b/t/t2300-cd-to-toplevel.sh @@ -4,11 +4,19 @@ test_description='cd_to_toplevel' . ./test-lib.sh +EXEC_PATH="$(git --exec-path)" +test_have_prereq !MINGW || +case "$EXEC_PATH" in +[A-Za-z]:/*) + EXEC_PATH="/${EXEC_PATH%%:*}${EXEC_PATH#?:}" + ;; +esac + test_cd_to_toplevel () { test_expect_success $3 "$2" ' ( cd '"'$1'"' && - PATH="$(git --exec-path):$PATH" && + PATH="$EXEC_PATH:$PATH" && . git-sh-setup && cd_to_toplevel && [ "$(pwd -P)" = "$TOPLEVEL" ] -- 2.9.0.118.gce770ba.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html