Jeff King <peff@xxxxxxxx> writes: > Subject: 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). Makes sense. Thanks.