Merge branch 'nd/dwim-wildcards-as-pathspecs'
authorJunio C Hamano <gitster@pobox.com>
Tue, 19 May 2015 20:17:57 +0000 (13:17 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 19 May 2015 20:17:58 +0000 (13:17 -0700)
A heuristic to help the "git <cmd> <revs> <pathspec>" command line
convention to catch mistyped paths is to make sure all the non-rev
parameters in the later part of the command line are names of the
files in the working tree, but that means "git grep $str -- \*.c"
must always be disambiguated with "--", because nobody sane will
create a file whose name literally is asterisk-dot-see. Loosen the
heuristic to declare that with a wildcard string the user likely
meant to give us a pathspec.

* nd/dwim-wildcards-as-pathspecs:
pathspec: avoid the need of "--" when wildcard is used

setup.c
diff --git a/setup.c b/setup.c
index fb6186049d1d9af1e84b2468c069b346c5a24a3b..863ddfd938d29e58341bd2be5dd3b7ecd4db7df2 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -140,7 +140,9 @@ int check_filename(const char *prefix, const char *arg)
                if (arg[2] == '\0') /* ":/" is root dir, always exists */
                        return 1;
                name = arg + 2;
-       } else if (prefix)
+       } else if (!no_wildcard(arg))
+               return 1;
+       else if (prefix)
                name = prefix_filename(prefix, strlen(prefix), arg);
        else
                name = arg;