parent eac2d83247ea0a265d923518c26873bb12c33778 (v1.7.9-rc0) commit b629bde461aeb178b257ab7e0f6c180f69f98cb0 Author: Jan Engelhardt <jengelh@xxxxxxxxxx> Date: Mon Jan 9 12:30:07 2012 +0100 gitignore: warn about pointless syntax Add a warning to the gitignore parser if it sees "**". Git, using fnmatch, does not consider the double-asterisk anything special like rsync/zsh. Remind users of that, since too many seem to be Doing It Wrong™. Signed-off-by: Jan Engelhardt <jengelh@xxxxxxxxxx> --- dir.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/dir.c b/dir.c index 0a78d00..60f65cb 100644 --- a/dir.c +++ b/dir.c @@ -376,6 +376,15 @@ void free_excludes(struct exclude_list *el) el->excludes = NULL; } +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); +} + int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen, @@ -427,6 +436,7 @@ int add_excludes_from_file_to_list(const char *fname, if (buf[i] == '\n') { if (entry != buf + i && entry[0] != '#') { buf[i - (i && buf[i-1] == '\r')] = 0; + check_bogus_wildcard(fname, entry); add_exclude(entry, base, baselen, which); } entry = buf + i + 1; -- # Created with git-export-patch -- 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