summaryrefslogtreecommitdiff
path: root/Documentation/gitignore.txt
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2016-01-08 12:05:25 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-01-08 19:24:14 (GMT)
commit8c722360d1277259d4baec951e1488086f775214 (patch)
tree4539c7a62a9f42aa6e5d51189789039e0c39e001 /Documentation/gitignore.txt
parent57534ee77d22e725d971ee89c77dc6aad61c573f (diff)
downloadgit-8c722360d1277259d4baec951e1488086f775214.zip
git-8c722360d1277259d4baec951e1488086f775214.tar.gz
git-8c722360d1277259d4baec951e1488086f775214.tar.bz2
Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match"
This reverts commit 57534ee77d22e725d971ee89c77dc6aad61c573f. The feature added in that commit requires that patterns behave the same way from anywhere. But some patterns can behave differently depending on current "working" directory. The conditions to catch and avoid these patterns are too loose. The untracked listing[1] and sparse-checkout selection[2] can become incorrect as a result. [1] http://article.gmane.org/gmane.comp.version-control.git/283520 [2] http://article.gmane.org/gmane.comp.version-control.git/283532 Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/gitignore.txt')
-rw-r--r--Documentation/gitignore.txt23
1 files changed, 4 insertions, 19 deletions
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 9cce703..4fd0442 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -82,12 +82,12 @@ PATTERN FORMAT
- An optional prefix "`!`" which negates the pattern; any
matching file excluded by a previous pattern will become
- included again.
+ included again. It is not possible to re-include a file if a parent
+ directory of that file is excluded. Git doesn't list excluded
+ directories for performance reasons, so any patterns on contained
+ files have no effect, no matter where they are defined.
Put a backslash ("`\`") in front of the first "`!`" for patterns
that begin with a literal "`!`", for example, "`\!important!.txt`".
- It is possible to re-include a file if a parent directory of that
- file is excluded if certain conditions are met. See section NOTES
- for detail.
- If the pattern ends with a slash, it is removed for the
purpose of the following description, but it would only find
@@ -141,21 +141,6 @@ not tracked by Git remain untracked.
To stop tracking a file that is currently tracked, use
'git rm --cached'.
-To re-include files or directories when their parent directory is
-excluded, the following conditions must be met:
-
- - The rules to exclude a directory and re-include a subset back must
- be in the same .gitignore file.
-
- - The directory part in the re-include rules must be literal (i.e. no
- wildcards)
-
- - The rules to exclude the parent directory must not end with a
- trailing slash.
-
- - The rules to exclude the parent directory must have at least one
- slash.
-
EXAMPLES
--------