Johannes Sixt wrote: > Jiri Slaby schrieb: >> having 'linux' line in .gitignore makes 'include/linux/vga_switcheroo.h' >> to be ignored > > That's the behavior that I would expect. > >> though the documentation says: >> *** >> If the pattern does not contain a slash /, git treats it as a shell >> glob pattern and checks for a match against the pathname without >> leading directories. >> *** > > and this citation confirms my expectation. Note that it says "pathname", > not "filename". 'include/linux' is a "pathname". It would be more precise to say this citation does not have much to do with it. 'include/linux' contains a slash, so that paragraph does not describe what it means. The next paragraph is more on point: · 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/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html". A leading slash matches the beginning of the pathname; for example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". The relevant sentence is the last one, and I can see how the length of the paragraph might be daunting. Maybe splitting it up would help? · 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/*.html" matches "Documentation/git.html" and "tools/perf/Documentation/perf-diff.html" but not "Documentation/ppc/ppc.html". · A leading slash matches the beginning of the pathname; for example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". Not sure. Jonathan -- %< -- Subject: gitignore.5: Clarify that path matches are not anchored Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- Documentation/gitignore.txt | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt index 98c459d..fa15422 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.txt @@ -89,10 +89,13 @@ Patterns have the following format: for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/\*.html" matches - "Documentation/git.html" but not - "Documentation/ppc/ppc.html". A leading slash matches the - beginning of the pathname; for example, "/*.c" matches - "cat-file.c" but not "mozilla-sha1/sha1.c". + "Documentation/git.html" and + "tools/perf/Documentation/perf-diff.html" but not + "Documentation/ppc/ppc.html". + + - A leading slash matches the beginning of the pathname; + for example, "/*.c" matches "cat-file.c" but not + "mozilla-sha1/sha1.c". An example: -- 1.7.0 -- 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