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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html