* gitignore documentation for info/exclude files and patterns with relative directories
@ 2026-03-27 11:20 Dan Drake
2026-03-27 16:18 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Dan Drake @ 2026-03-27 11:20 UTC (permalink / raw)
To: git@vger.kernel.org
Hello,
In the "pattern format" section of the gitignore manpage, it says:
> The slash "/" is used as the directory separator. Separators may occur at the
> beginning, middle or end of the .gitignore search pattern.
>
> If there is a separator at the beginning or middle (or both) of the pattern,
> then the pattern is relative to the directory level of the particular
> .gitignore file itself. Otherwise the pattern may also match at any
> level below the .gitignore level.
For a .git/info/exclude file, the above makes it sound like the pattern will be
relative to that .git/info directory, so that you would need to use this kind of p
attern to match files starting with 'foo' in the root of the repo:
../../foo*
However, it seems that for patterns in the info/exclude file, the beginning
slash anchors the pattern to the root of the repo; the above pattern
in that file should be '/foo*'.
The documentation should mention this behavior for info/exclude, as well as
the core.excludesFile.
Dan
--
Ceci n'est pas une .signature.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: gitignore documentation for info/exclude files and patterns with relative directories
2026-03-27 11:20 gitignore documentation for info/exclude files and patterns with relative directories Dan Drake
@ 2026-03-27 16:18 ` Junio C Hamano
2026-03-28 15:21 ` [PATCH] doc: gitignore: clarify pattern base for info/exclude and core.excludesFile Shreyansh Paliwal
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2026-03-27 16:18 UTC (permalink / raw)
To: Dan Drake; +Cc: git@vger.kernel.org
Dan Drake <dan@dandrake.org> writes:
> The documentation should mention this behavior for info/exclude, as well as
> the core.excludesFile.
Yup, my mistake more than 20-year-old that nobody complained so far
;-)
Yes, these exclude pattern sources that are outside the working tree
behave as if they are specified at the root level of the working
tree.
Patches welcome. Thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
2026-03-27 16:18 ` Junio C Hamano
@ 2026-03-28 15:21 ` Shreyansh Paliwal
0 siblings, 0 replies; 3+ messages in thread
From: Shreyansh Paliwal @ 2026-03-28 15:21 UTC (permalink / raw)
To: git; +Cc: gitster, dan, Shreyansh Paliwal
The pattern format section describes how patterns are interpreted
relative to the location of a .gitignore file, but does not mention
the behavior for exclude sources outside the working tree.
Clarify that patterns from $GIT_DIR/info/exclude and core.excludesFile
are treated as if they are specified at the root of the working tree,
so a leading '/' anchors matches at the repository root.
Reported-by: Dan Drake <dan@dandrake.org>
Signed-off-by: Shreyansh Paliwal <shreyanshpaliwalcmsmn@gmail.com>
---
Documentation/gitignore.adoc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/gitignore.adoc b/Documentation/gitignore.adoc
index 9fccab4ae8..a3d24e5c34 100644
--- a/Documentation/gitignore.adoc
+++ b/Documentation/gitignore.adoc
@@ -96,6 +96,11 @@ PATTERN FORMAT
particular `.gitignore` file itself. Otherwise the pattern may also
match at any level below the `.gitignore` level.
+ - Patterns read from exclude sources that are outside the working tree,
+ such as $GIT_DIR/info/exclude and core.excludesFile, are treated as if
+ they are specified at the root of the working tree, i.e. a leading "/"
+ in such patterns anchors the match at the root of the repository.
+
- If there is a separator at the end of the pattern then the pattern
will only match directories, otherwise the pattern can match both
files and directories.
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-28 15:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-27 11:20 gitignore documentation for info/exclude files and patterns with relative directories Dan Drake
2026-03-27 16:18 ` Junio C Hamano
2026-03-28 15:21 ` [PATCH] doc: gitignore: clarify pattern base for info/exclude and core.excludesFile Shreyansh Paliwal
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.