From: Thomas Braun <thomas.br...@byte-physics.de>

A string of the form "@/abcd" is considered a file path
by the msys layer and therefore translated to a Windows path.

Here the trick is to double the slashes.

The MSYS2 patch translation can be studied by calling

        test-path-utils print_path <path>

Signed-off-by: Thomas Braun <thomas.br...@byte-physics.de>
Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 t/t1508-at-combinations.sh | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/t/t1508-at-combinations.sh b/t/t1508-at-combinations.sh
index 078e119..1d9fd7b 100755
--- a/t/t1508-at-combinations.sh
+++ b/t/t1508-at-combinations.sh
@@ -29,13 +29,22 @@ fail() {
        "$@" failure
 }
 
+if test_have_prereq MINGW
+then
+       # MSYS2 interprets `@/abc` to be a file list, and wants to substitute
+       # the Unix-y path with a Windows one (e.g. @C:\msys64\abc)
+       AT_SLASH=@//at-test
+else
+       AT_SLASH=@/at-test
+fi
+
 test_expect_success 'setup' '
        test_commit master-one &&
        test_commit master-two &&
        git checkout -b upstream-branch &&
        test_commit upstream-one &&
        test_commit upstream-two &&
-       git checkout -b @/at-test &&
+       git checkout -b $AT_SLASH &&
        git checkout -b @@/at-test &&
        git checkout -b @at-test &&
        git checkout -b old-branch &&
@@ -64,7 +73,7 @@ check "@{-1}@{u}@{1}" commit master-one
 check "@" commit new-two
 check "@@{u}" ref refs/heads/upstream-branch
 check "@@/at-test" ref refs/heads/@@/at-test
-check "@/at-test" ref refs/heads/@/at-test
+check "$AT_SLASH" ref refs/heads/@/at-test
 check "@at-test" ref refs/heads/@at-test
 nonsense "@{u}@{-1}"
 nonsense "@{0}@{0}"
-- 
2.7.0.windows.1.7.g55a05c8


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to