Re: [PATCH] gitignore: warn about pointless syntax
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:45
Jan Engelhardt [off-list ref] writes:
On Monday 2012-01-09 23:33, Jeff King wrote:quoted
On Mon, Jan 09, 2012 at 11:43:21AM -0800, Junio C Hamano wrote:quoted
quoted
quoted
+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);You only have to implement proper backslash decoding, so I think it is not as hard as reimplementing fnmatch: [...] That being said, if this is such a commonly-requested featureWas it actually requested, or did you mean "commonly attempted use"? As I see it, foo/**/*.o for example is equal to placing "*.o" in foo/.gitignore, so the feature is already implemented, just not through the syntax people falsely assume it is.
You can either adjust the people, i.e. teach that their "false" assumption is wrong and the feature they expect is available but not in a way that they expect. Or you can adjust the tool to match their expectation. The point that Peff correctly read between my lines is that in real life, people are harder to train than tools and often the latter is a better approach, especially if it does not amount to too much more work than doing the former.