From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: "Windl, Ulrich" <u.windl@ukr.de>
Subject: [PATCH v2] gitignore: rewrite wildcard description
Date: Tue, 03 Nov 2026 14:40:32 -0800 [thread overview]
Message-ID: <xmqqh5hx4jz3.fsf_-_@gitster.g> (raw)
In-Reply-To: <xmqq5wyjxgyn.fsf@gitster.g> (Junio C. Hamano's message of "Fri, 30 Oct 2026 09:59:12 -0700")
The documentation for '.gitignore' makes reference to fnmatch(3) and
FNM_PATHNAME to describe how an asterisk "*" and a question mark "?"
behave. Even though it spells out that these wildcard characters
do not match a slash, it does not say if an asterisk matches an
empty string (it does).
Rewrite the section so that the readers would get a more complete
picture without requiring them to know what fnmatch(3) and glob(7)
says.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
* let's adopt the most explicit "(including the empty string)"
from glob(7).
Documentation/gitignore.adoc | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/Documentation/gitignore.adoc b/Documentation/gitignore.adoc
index 7979e50f18..87f37c2b0c 100644
--- a/Documentation/gitignore.adoc
+++ b/Documentation/gitignore.adoc
@@ -110,11 +110,16 @@ PATTERN FORMAT
and `a/frotz` that is a directory (all paths are relative from
the `.gitignore` file).
- - An asterisk "`*`" matches anything except a slash.
- The character "`?`" matches any one character except "`/`".
- The range notation, e.g. `[a-zA-Z]`, can be used to match
- one of the characters in a range. See fnmatch(3) and the
- FNM_PATHNAME flag for a more detailed description.
+ - An asterisk "`*`" matches any string (including the empty string),
+ and a question mark "`?`" matches any single character, but these
+ wildcard characters do not match a slash "`/`".
+
+ - A pair of brackets that enclose characters match one of the listed
+ characters, and a range notation inside them, e.g., "`[a-zA-Z]`",
+ would behave as if all the characters in the range were listed there
+ instead. Wildcard characters "`*`" and "`?`" lose their special
+ meaning inside a pair of brackets, e.g., "`[*]`" would match an
+ asterisk and nothing else.
- A backslash ("`\`") can be used to escape any character. E.g., "`\*`"
matches a literal asterisk (and "`\a`" matches "`a`", even though
Interdiff:
diff --git a/Documentation/gitignore.adoc b/Documentation/gitignore.adoc
index 671a5a4c99..87f37c2b0c 100644
--- a/Documentation/gitignore.adoc
+++ b/Documentation/gitignore.adoc
@@ -110,9 +110,9 @@ PATTERN FORMAT
and `a/frotz` that is a directory (all paths are relative from
the `.gitignore` file).
- - An asterisk "`*`" matches string of any length, and a question mark
- "`?`" matches any single character, but these wildcard characters
- do not match a slash "`/`".
+ - An asterisk "`*`" matches any string (including the empty string),
+ and a question mark "`?`" matches any single character, but these
+ wildcard characters do not match a slash "`/`".
- A pair of brackets that enclose characters match one of the listed
characters, and a range notation inside them, e.g., "`[a-zA-Z]`",
--
2.56.0-511-g14903f623d
prev parent reply other threads:[~2026-11-03 22:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-30 10:46 Q: .gitignore and asterisk "*" Windl, Ulrich
2026-10-30 16:59 ` Junio C Hamano
2026-11-03 7:33 ` Tuomas Ahola
2026-11-03 12:00 ` [EXT] " Windl, Ulrich
2026-11-03 17:13 ` Junio C Hamano
2026-11-03 17:29 ` Tuomas Ahola
2026-11-03 22:40 ` Junio C Hamano [this message]
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=xmqqh5hx4jz3.fsf_-_@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=u.windl@ukr.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox