Duy Nguyen <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html