All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: Jiri Slaby <jirislaby@gmail.com>, git@vger.kernel.org
Subject: Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
Date: Fri, 5 Mar 2010 09:12:48 -0600	[thread overview]
Message-ID: <20100305151248.GA24748@progeny.tock> (raw)
In-Reply-To: <4B90C974.2050405@viscovery.net>

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@gmail.com>
---
 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

  parent reply	other threads:[~2010-03-05 15:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-05  8:55 gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
2010-03-05  9:05 ` Johannes Sixt
2010-03-05  9:07   ` Jiri Slaby
2010-03-05  9:16     ` Johannes Sixt
2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
2010-03-05 10:43         ` Jakub Narebski
2010-03-05 15:19           ` Jiri Slaby
2010-03-10 10:07             ` David Rientjes
2010-03-10 10:11               ` Américo Wang
2010-03-10 10:25                 ` David Rientjes
2010-03-08  2:08         ` Américo Wang
2010-03-05  9:29       ` gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
2010-03-05 17:25         ` Jonathan Nieder
2010-03-05 19:30           ` Jiri Slaby
2010-03-05 15:12   ` Jonathan Nieder [this message]
2010-03-05 15:15     ` Jonathan Nieder
2010-03-05 15:34     ` Johannes Sixt
2010-03-05 15:56       ` [PATCH] gitignore.5: Clarify matching rules Jonathan Nieder
2010-03-05 17:01   ` gitignore broken in git 1.7.0.1: slash checks leading dirs Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100305151248.GA24748@progeny.tock \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=j.sixt@viscovery.net \
    --cc=jirislaby@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.