Duy Nguyen <pclouds@xxxxxxxxx> writes: > A bit off topic, but these two paragraphs may need rephrasing, I don't > really understand what it's trying to say > > - If the pattern does not contain a slash '/', Git treats it as > a shell glob pattern and checks for a match against the > pathname relative to the location of the `.gitignore` file > (relative to the toplevel of the work tree if not from a > `.gitignore` file). > > Not sure why "relative to the location of .gitignore file" matters. We > basically just take `basename $path` out and try to match it. That is because the documentation was written with a single consistent matching mode in mind: you match various patterns against the FULL path in the repository, no matter where you find the path. If you find a pattern "*.c" in d/.gitignore file, a path d/hello.c matches, even though '*.c' does not match 'd/hello.c' in the shell glob sense, and the rule needs to clarify that the leading directory part "d/" in the path "d/hello.c" does not participate when matching it against the pattern "*.c" taken from "d/.gitignore" file. If you start from a mindset to match hello.c part with *.c when you find both in d/ directory, "relative to the location" part would sound redundant or even confusing. > - Otherwise, Git treats the pattern as a shell glob suitable > for consumption by fnmatch(3) with the FNM_PATHNAME flag: > wildcards in the pattern will not match a / in the pathname. > For example, "Documentation/{asterisk}.html" matches > "Documentation/git.html" but not "Documentation/ppc/ppc.html" > or "tools/perf/Documentation/perf.html". > > Perhaps "Otherwise" can be stated explicitly that "if the pattern does > contain any slash, besides the trailing one". Yeah, I think there originally was just two (it has slasn or it doesn't) and "If ..." followed by "Otherwise" was clear enough, but spellin it out would not hurt. -- 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