aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/gitattributes.txt7
-rw-r--r--Documentation/gitignore.txt12
-rwxr-xr-xt/t3800-mktag.sh4
3 files changed, 21 insertions, 2 deletions
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 35a29fd60..970db0c73 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -63,6 +63,13 @@ path in question, and its parent directories (the further the
directory that contains `.gitattributes` is from the path in
question, the lower its precedence).
+If you wish to affect only a single repository (i.e., to assign
+attributes to files that are particular to one user's workflow), then
+attributes should be placed in the `$GIT_DIR/info/attributes` file.
+Attributes which should be version-controlled and distributed to other
+repositories (i.e., attributes of interest to all users) should go into
+`.gitattributes` files.
+
Sometimes you would need to override an setting of an attribute
for a path to `unspecified` state. This can be done by listing
the name of the attribute prefixed with an exclamation point `!`.
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 08373f52b..ef8a272d8 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -38,6 +38,18 @@ precedence, the last matching pattern decides the outcome):
* Patterns read from the file specified by the configuration
variable 'core.excludesfile'.
+Which file to place a pattern in depends on how the pattern is meant to
+be used. Patterns which should be version-controlled and distributed to
+other repositories via clone (i.e., files that all developers will want
+to ignore) should go into a `.gitignore` file. Patterns which are
+specific to a particular repository but which do not need to be shared
+with other related repositories (e.g., auxiliary files that live inside
+the repository but are specific to one user's workflow) should go into
+the `$GIT_DIR/info/exclude` file. Patterns which a user wants git to
+ignore in all situations (e.g., backup or temporary files generated by
+the user's editor of choice) generally go into a file specified by
+`core.excludesfile` in the user's `~/.gitconfig`.
+
The underlying git plumbing tools, such as
linkgit:git-ls-files[1] and linkgit:git-read-tree[1], read
`gitignore` patterns specified by command-line options, or from
diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh
index f2803206f..bdc6e132c 100755
--- a/t/t3800-mktag.sh
+++ b/t/t3800-mktag.sh
@@ -14,8 +14,8 @@ test_description='git-mktag: tag object verify test'
check_verify_failure () {
expect="$2"
test_expect_success "$1" '
- ( ! git-mktag <tag.sig 2>message ) &&
- grep -q "$expect" message
+ ( test_must_fail git-mktag <tag.sig 2>message ) &&
+ grep "$expect" message
'
}