[PATCH 13/19] mingw: outsmart MSYS2's path substitution in t1508
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 24, 2016, 15:45 UTC
- Message-ID
- <1a4477f951edc9f58a24163d3935a7b35a3f14b2.1453650173.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1453650173.git.johannes.schindelin@gmx.de>
From: Thomas Braun <thomas.braun@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.braun@byte-physics.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@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