Hello, in t0008 I see tests fails with not ok 374 - --stdin -v # # expect_from_stdin <expected-verbose && # test_check_ignore "-v --stdin" <stdin # [....] not ok 381 - --stdin from subdirectory # # expect_from_stdin <expected-default && # ( # cd a && # test_check_ignore "--stdin" <../stdin # ) # not ok 382 - --stdin from subdirectory with -v # # expect_from_stdin <expected-verbose && # ( # cd a && # test_check_ignore "--stdin -v" <../stdin # ) # not ok 383 - --stdin from subdirectory with -v -n # # expect_from_stdin <expected-all && # ( # cd a && # test_check_ignore "--stdin -v -n" <../stdin # ) # The reason seems that the snippet cat <<-EOF >expected-all .gitignore:1:one ../one :: ../not-ignored .gitignore:1:one one :: not-ignored a/b/.gitignore:8:!on* b/on a/b/.gitignore:8:!on* b/one a/b/.gitignore:8:!on* b/one one a/b/.gitignore:8:!on* b/one two a/b/.gitignore:8:!on* "b/one\"three" a/b/.gitignore:9:!two b/two :: b/not-ignored a/.gitignore:1:two* b/twooo $global_excludes:2:!globaltwo ../globaltwo $global_excludes:2:!globaltwo globaltwo $global_excludes:2:!globaltwo b/globaltwo $global_excludes:2:!globaltwo ../b/globaltwo :: c/not-ignored EOF behaves differently in bash and in ksh. a/b/.gitignore:8:!on* "b/one\"three" comes out unmodified with bash but with ksh it becomes a/b/.gitignore:8:!on* "b/one"three" I'm not sure what shell is "wrong" here, but when I modify the line to a/b/.gitignore:8:!on* "b/one\\"three" both shells generate the "right" output: a/b/.gitignore:8:!on* "b/one\"three" >From what I've learned I'd expect the double backslash to be the "right" way to escape one backslash. Do you agree or am I wrong? This snippet appears twice in this test, generates expected-all and expected-verbose. Armin -- 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