Re: [PATCH] gitignore: warn about pointless syntax
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 9, 2012, 19:43 UTC
- Message-ID
- <7vhb04ek6e.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20120109162802.GA2374@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 11 quoted lines
> On Mon, Jan 09, 2012 at 04:40:47PM +0100, Jan Engelhardt wrote:
>
>> +static inline void check_bogus_wildcard(const char *file, const char *p)
>> +{
>> + if (strstr(p, "**") == NULL)
>> + return;
>> + warning(_("Pattern \"%s\" from file \"%s\": Double asterisk does not "
>> + "have a special meaning and is interpreted just like a single "
>> + "asterisk.\n"), file, p);
>
> Wouldn't this also match the meaningful "foo\**"?Yes.
But trying to catch that false positive by checking one before "**" against a backslash is not a way to do so as it will then turn "foo\\**" into a false negative, and you would end up reimplementing fnmatch if you really want to avoid false positives nor negatives. At that point, you may be better off implementing git_fnmatch() instead that understands the double-asterisk that works as some people may expect it to work ;-).