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
This commit is contained in:
Junio C Hamano
2008-08-30 20:31:39 -07:00
7 changed files with 146 additions and 13 deletions

View File

@ -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
-------