threads / patch / 9131

patchDocumentation/gitignore.txt: Fix the seriously misleading priority explanation

Subject: [PATCH] Documentation/gitignore.txt: Fix the seriously misleading priority explanation

## tl;dr

3 messages between Jul 21, 2007 and Jul 22, 2007. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

David Kastrup· Jul 21, 2007, 23:53 UTC · lore
Signed-off-by: David Kastrup <dak@gnu.org>
---
 Documentation/gitignore.txt |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)
Show changes to Documentation/gitignore.txt +14 −8
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index ea79d74..9c83095 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -18,21 +18,26 @@ pattern.
 
 When deciding whether to ignore a path, git normally checks
 `gitignore` patterns from multiple sources, with the following
-order of precedence:
+order of precedence, from highest to lowest (within one level of
+precedence, the last matching pattern decides the outcome):
 
- * Patterns read from the file specified by the configuration
-   variable 'core.excludesfile'.
-
- * Patterns read from `$GIT_DIR/info/exclude`.
+ * Patterns read from the command line for those commands that support
+   them.
 
  * Patterns read from a `.gitignore` file in the same directory
-   as the path, or in any parent directory, ordered from the
-   deepest such file to a file in the root of the repository.
+   as the path, or in any parent directory, with patterns in the
+   higher level files (up to the root) being overriden by those in
+   lower level files down to the directory containing the file.
    These patterns match relative to the location of the
    `.gitignore` file.  A project normally includes such
    `.gitignore` files in its repository, containing patterns for
    files generated as part of the project build.
 
+ * Patterns read from `$GIT_DIR/info/exclude`.
+
+ * Patterns read from the file specified by the configuration
+   variable 'core.excludesfile'.
+
 The underlying git plumbing tools, such as
 gitlink:git-ls-files[1] and gitlink:git-read-tree[1], read
 `gitignore` patterns specified by command-line options, or from
@@ -49,7 +54,8 @@ Patterns have the following format:
 
  - An optional prefix '!' which negates the pattern; any
    matching file excluded by a previous pattern will become
-   included again.
+   included again.  If a negated pattern matches, this will
+   override lower precedence patterns sources.
 
  - If the pattern does not contain a slash '/', git treats it as
    a shell glob pattern and checks for a match against the
-- 
1.5.2.3


-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Junio C Hamano· Jul 22, 2007, 06:04 UTC · re: David Kastrup · lore

Re: [PATCH] Documentation/gitignore.txt: Fix the seriously misleading priority explanation

Your rewrite makes "patterns found in deeper file overrides the ones in shallower ones" rule much much easier to read. Thanks.

David Kastrup· Jul 22, 2007, 09:12 UTC · re: Junio C Hamano · lore

Re: [PATCH] Documentation/gitignore.txt: Fix the seriously misleading priority explanation

Junio C Hamano <gitster@pobox.com> writes:
> Your rewrite makes "patterns found in deeper file overrides the
> ones in shallower ones" rule much much easier to read.  Thanks.

Well, it is nice for a change to be able to explain something in a way that people understand.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

← back to recent threads