t: fix &&-chaining issues around setup which might fail
[gitweb.git] / t / t0008-ignores.sh
index 63beb99828cc17d2ec8218a6470b62c02a78806b..8dc6939b9049baa32aca1200e36378e6e2296e9d 100755 (executable)
@@ -806,4 +806,29 @@ test_expect_success !MINGW 'quoting allows trailing whitespace' '
        test_cmp err.expect err
 '
 
+test_expect_success !MINGW,!CYGWIN 'correct handling of backslashes' '
+       rm -rf whitespace &&
+       mkdir whitespace &&
+       >"whitespace/trailing 1  " &&
+       >"whitespace/trailing 2 \\\\" &&
+       >"whitespace/trailing 3 \\\\" &&
+       >"whitespace/trailing 4   \\ " &&
+       >"whitespace/trailing 5 \\ \\ " &&
+       >"whitespace/trailing 6 \\a\\" &&
+       >whitespace/untracked &&
+       sed -e "s/Z$//" >ignore <<-\EOF &&
+       whitespace/trailing 1 \    Z
+       whitespace/trailing 2 \\\\Z
+       whitespace/trailing 3 \\\\ Z
+       whitespace/trailing 4   \\\    Z
+       whitespace/trailing 5 \\ \\\   Z
+       whitespace/trailing 6 \\a\\Z
+       EOF
+       echo whitespace/untracked >expect &&
+       >err.expect &&
+       git ls-files -o -X ignore whitespace >actual 2>err &&
+       test_cmp expect actual &&
+       test_cmp err.expect err
+'
+
 test_done