summaryrefslogtreecommitdiff
path: root/Documentation/gitattributes.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-31 03:31:39 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-08-31 03:31:39 (GMT)
commit7df437e56b5a2c5ec7140dd097b517563db4972c (patch)
treea006f20b481d811ccb4846534ef6394be5bc78a8 /Documentation/gitattributes.txt
parentff1e8bfcd69e5e0ee1a3167e80ef75b611f72123 (diff)
parentbbb896d8e10f736bfda8f587c0009c358c9a8599 (diff)
downloadgit-7df437e56b5a2c5ec7140dd097b517563db4972c.zip
git-7df437e56b5a2c5ec7140dd097b517563db4972c.tar.gz
git-7df437e56b5a2c5ec7140dd097b517563db4972c.tar.bz2
Merge branch 'maint'
* maint: gitattributes: -crlf is not binary git-apply: Loosen "match_beginning" logic Fix example in git-name-rev documentation shell: do not play duplicated definition games to shrink the executable Fix use of hardlinks in "make install" pack-objects: Allow missing base objects when creating thin packs
Diffstat (limited to 'Documentation/gitattributes.txt')
-rw-r--r--Documentation/gitattributes.txt40
1 files changed, 37 insertions, 3 deletions
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 5495d69..1f23d27 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -105,9 +105,8 @@ Set::
Unset::
- Unsetting the `crlf` attribute on a path is meant to
- mark the path as a "binary" file. The path never goes
- through line endings conversion upon checkin/checkout.
+ Unsetting the `crlf` attribute on a path tells git not to
+ attempt any end-of-line conversion upon checkin or checkout.
Unspecified::
@@ -486,6 +485,41 @@ in the file. E.g. the string `$Format:%H$` will be replaced by the
commit hash.
+USING ATTRIBUTE MACROS
+----------------------
+
+You do not want any end-of-line conversions applied to, nor textual diffs
+produced for, any binary file you track. You would need to specify e.g.
+
+------------
+*.jpg -crlf -diff
+------------
+
+but that may become cumbersome, when you have many attributes. Using
+attribute macros, you can specify groups of attributes set or unset at
+the same time. The system knows a built-in attribute macro, `binary`:
+
+------------
+*.jpg binary
+------------
+
+which is equivalent to the above. Note that the attribute macros can only
+be "Set" (see the above example that sets "binary" macro as if it were an
+ordinary attribute --- setting it in turn unsets "crlf" and "diff").
+
+
+DEFINING ATTRIBUTE MACROS
+-------------------------
+
+Custom attribute macros can be defined only in the `.gitattributes` file
+at the toplevel (i.e. not in any subdirectory). The built-in attribute
+macro "binary" is equivalent to:
+
+------------
+[attr]binary -diff -crlf
+------------
+
+
EXAMPLE
-------