summaryrefslogtreecommitdiff
path: root/t/t4136-apply-check.sh
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2020-01-24 19:00:51 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-01-27 10:46:35 -0800
commit39e21c6ef5221a1dcb8a241f60d7e91d59bd6627 (patch)
tree514e8845ffbbe2c2764a86d3197e1e187f86fc05 /t/t4136-apply-check.sh
parentmsvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x (diff)
downloadtgif-39e21c6ef5221a1dcb8a241f60d7e91d59bd6627.tar.xz
verify_filename(): handle backslashes in "wildcards are pathspecs" rule
Commit 28fcc0b71a (pathspec: avoid the need of "--" when wildcard is used, 2015-05-02) allowed: git rev-parse '*.c' without the double-dash. But the rule it uses to check for wildcards actually looks for any glob special. This is overly liberal, as it means that a pattern that doesn't actually do any wildcard matching, like "a\b", will be considered a pathspec. If you do have such a file on disk, that's presumably what you wanted. But if you don't, the results are confusing: rather than say "there's no such path a\b", we'll quietly accept it as a pathspec which very likely matches nothing (or at least not what you intended). Likewise, looking for path "a\*b" doesn't expand the search at all; it would only find a single entry, "a*b". This commit switches the rule to trigger only when glob metacharacters would expand the search, meaning both of those cases will now report an error (you can still disambiguate using "--", of course; we're just tightening the DWIM heuristic). Note that we didn't test the original feature in 28fcc0b71a at all. So this patch not only tests for these corner cases, but also adds a regression test for the existing behavior. Reported-by: David Burström <davidburstrom@spotify.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4136-apply-check.sh')
0 files changed, 0 insertions, 0 deletions