Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > When "--" is lacking from the command line and a command can take both > revs and paths, the idea is if an argument can be seen as both an > extended SHA-1 and a path, then "--" is required or git refuses to > continue. It's currently implemented as: > ... Hmph, how does this relate to 28fcc0b7 (pathspec: avoid the need of "--" when wildcard is used, 2015-05-02)? A follow-up? "Oops, I did it wrong"? something else? > diff --git a/setup.c b/setup.c > index 82c0cc2..f7cb93b 100644 > --- a/setup.c > +++ b/setup.c > @@ -143,6 +143,8 @@ int check_filename(const char *prefix, const char *arg) > name = arg + 2; > } else if (!no_wildcard(arg)) > return 1; > + else if (!no_wildcard(arg)) > + return 1; Puzzling. You already checked if arg has an wildcard and returned with 1 if there is none. The added check looks like a no-op to me. > diff --git a/t/t2019-checkout-ambiguous-ref.sh b/t/t2019-checkout-ambiguous-ref.sh > index b99d519..e5ceba3 100755 > --- a/t/t2019-checkout-ambiguous-ref.sh > +++ b/t/t2019-checkout-ambiguous-ref.sh > @@ -56,4 +56,30 @@ test_expect_success VAGUENESS_SUCCESS 'checkout reports switch to branch' ' > test_i18ngrep ! "^HEAD is now at" stderr > ' > > +test_expect_success 'wildcard ambiguation' ' > + git init ambi && > + ( > + cd ambi && > + echo a >a.c && > + git add a.c && > + echo b >a.c && > + git checkout "*.c" && > + echo a >expect && > + test_cmp expect a.c > + ) > +' > + > +test_expect_success 'wildcard ambiguation (2)' ' > + git init ambi2 && > + ( > + cd ambi2 && > + echo a >"*.c" && > + git add . && > + test_must_fail git show :"*.c" && > + git show :"*.c" -- >actual && > + echo a >expect && > + test_cmp expect actual > + ) > +' > + > test_done -- 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