Autogenerated HTML docs for v1.5.1.2-242-g2d765
authorJunio C Hamano <junio@hera.kernel.org>
Sun, 22 Apr 2007 07:22:13 +0000 (07:22 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sun, 22 Apr 2007 07:22:13 +0000 (07:22 +0000)
14 files changed:
RelNotes-1.5.1.2.txt
cmds-purehelpers.txt
config.txt
git-check-attr.html [new file with mode: 0644]
git-check-attr.txt [new file with mode: 0644]
git-config.html
git-index-pack.html
git-index-pack.txt
git-pack-objects.html
git-pack-objects.txt
git.html
git.txt
gitattributes.html [new file with mode: 0644]
gitattributes.txt [new file with mode: 0644]

index f58268f6be37d0de6dbc4e34de1dd539a7504e84..d88456306c503d9e604ffbb699fb7cadacb2e733 100644 (file)
@@ -1,4 +1,4 @@
-GIT v1.5.1.2 Release Notes (draft)
+GIT v1.5.1.2 Release Notes
 ==========================
 
 Fixes since v1.5.1.1
@@ -6,6 +6,11 @@ Fixes since v1.5.1.1
 
 * Bugfixes
 
+  - "git clone" over http from a repository that has lost the
+    loose refs by running "git pack-refs" were broken (a code to
+    deal with this was added to "git fetch" in v1.5.0, but it
+    was missing from "git clone").
+
   - "git diff a/ b/" incorrectly fell in "diff between two
     filesystem objects" codepath, when the user most likely
     wanted to limit the extent of output to two tracked
@@ -24,14 +29,22 @@ Fixes since v1.5.1.1
   - git-blame on a very long working tree path had buffer
     overrun problem.
 
+  - git-apply did not like to be fed two patches in a row that created
+    and then modified the same file.
+
+  - git-svn was confused when a non-project was stored directly under
+    trunk/, branches/ and tags/.
+
+  - git-svn wants the Error.pm module that was at least as new
+    as what we ship as part of git; install ours in our private
+    installation location if the one on the system is older.
+
+  - An earlier update to command line integer parameter parser was
+    botched and made 'update-index --cacheinfo' completely useless.
+
+
 * Documentation updates
 
   - Various documentation updates from J. Bruce Fields, Frank
     Lichtenheld, Alex Riesen and others.  Andrew Ruder started a
     war on undocumented options.
-
----
-exec >/var/tmp/1
-O=v1.5.1.1-31-g0220f1e
-echo O=`git describe refs/heads/maint`
-git shortlog --no-merges $O..refs/heads/maint
index d0cc569044e43600358a63bd6c4f33f407009a47..05a2f38b91ef955a82b01ceb35d06c133ecf1293 100644 (file)
@@ -1,6 +1,9 @@
 gitlink:git-applypatch[1]::
        Apply one patch extracted from an e-mail.
 
+gitlink:git-check-attr[1]::
+       Display gitattributes information..
+
 gitlink:git-check-ref-format[1]::
        Make sure ref name is well formed.
 
index 2c0a66632329dae8ae1bf9412a57ab247cc8a603..b13ff3a1bbedb70766f08b2e4d9b5048a4903d4d 100644 (file)
@@ -525,6 +525,19 @@ merge.verbosity::
        conflicts, 2 outputs conflicts and file changes.  Level 5 and
        above outputs debugging information.  The default is level 2.
 
+merge.<driver>.name::
+       Defines a human readable name for a custom low-level
+       merge driver.  See gitlink:gitattributes[5] for details.
+
+merge.<driver>.driver::
+       Defines the command that implements a custom low-level
+       merge driver.  See gitlink:gitattributes[5] for details.
+
+merge.<driver>.recursive::
+       Names a low-level merge driver to be used when
+       performing an internal merge between common ancestors.
+       See gitlink:gitattributes[5] for details.
+
 pack.window::
        The size of the window used by gitlink:git-pack-objects[1] when no
        window size is given on the command line. Defaults to 10.
diff --git a/git-check-attr.html b/git-check-attr.html
new file mode 100644 (file)
index 0000000..0dc323e
--- /dev/null
@@ -0,0 +1,315 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 7.0.2" />\r
+<style type="text/css">\r
+/* Debug borders */\r
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
+/*\r
+  border: 1px solid red;\r
+*/\r
+}\r
+\r
+body {\r
+  margin: 1em 5% 1em 5%;\r
+}\r
+\r
+a { color: blue; }\r
+a:visited { color: fuchsia; }\r
+\r
+em {\r
+  font-style: italic;\r
+}\r
+\r
+strong {\r
+  font-weight: bold;\r
+}\r
+\r
+tt {\r
+  color: navy;\r
+}\r
+\r
+h1, h2, h3, h4, h5, h6 {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  margin-top: 1.2em;\r
+  margin-bottom: 0.5em;\r
+  line-height: 1.3;\r
+}\r
+\r
+h1 {\r
+  border-bottom: 2px solid silver;\r
+}\r
+h2 {\r
+  border-bottom: 2px solid silver;\r
+  padding-top: 0.5em;\r
+}\r
+\r
+div.sectionbody {\r
+  font-family: serif;\r
+  margin-left: 0;\r
+}\r
+\r
+hr {\r
+  border: 1px solid silver;\r
+}\r
+\r
+p {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+pre {\r
+  padding: 0;\r
+  margin: 0;\r
+}\r
+\r
+span#author {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  font-size: 1.2em;\r
+}\r
+span#email {\r
+}\r
+span#revision {\r
+  font-family: sans-serif;\r
+}\r
+\r
+div#footer {\r
+  font-family: sans-serif;\r
+  font-size: small;\r
+  border-top: 2px solid silver;\r
+  padding-top: 0.5em;\r
+  margin-top: 4.0em;\r
+}\r
+div#footer-text {\r
+  float: left;\r
+  padding-bottom: 0.5em;\r
+}\r
+div#footer-badges {\r
+  float: right;\r
+  padding-bottom: 0.5em;\r
+}\r
+\r
+div#preamble,\r
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
+div.admonitionblock {\r
+  margin-right: 10%;\r
+  margin-top: 1.5em;\r
+  margin-bottom: 1.5em;\r
+}\r
+div.admonitionblock {\r
+  margin-top: 2.5em;\r
+  margin-bottom: 2.5em;\r
+}\r
+\r
+div.content { /* Block element content. */\r
+  padding: 0;\r
+}\r
+\r
+/* Block element titles. */\r
+div.title, caption.title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  text-align: left;\r
+  margin-top: 1.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+div.title + * {\r
+  margin-top: 0;\r
+}\r
+\r
+td div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content + div.title {\r
+  margin-top: 0.0em;\r
+}\r
+\r
+div.sidebarblock > div.content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.listingblock > div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock > div.content {\r
+  padding-left: 2.0em;\r
+}\r
+div.quoteblock .attribution {\r
+  text-align: right;\r
+}\r
+\r
+div.admonitionblock .icon {\r
+  vertical-align: top;\r
+  font-size: 1.1em;\r
+  font-weight: bold;\r
+  text-decoration: underline;\r
+  color: #527bbd;\r
+  padding-right: 0.5em;\r
+}\r
+div.admonitionblock td.content {\r
+  padding-left: 0.5em;\r
+  border-left: 2px solid silver;\r
+}\r
+\r
+div.exampleblock > div.content {\r
+  border-left: 2px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.verseblock div.content {\r
+  white-space: pre;\r
+}\r
+\r
+div.imageblock div.content { padding-left: 0; }\r
+div.imageblock img { border: 1px solid silver; }\r
+span.image img { border-style: none; }\r
+\r
+dl {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+dt {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0;\r
+  font-style: italic;\r
+}\r
+dd > *:first-child {\r
+  margin-top: 0;\r
+}\r
+\r
+ul, ol {\r
+    list-style-position: outside;\r
+}\r
+ol.olist2 {\r
+  list-style-type: lower-alpha;\r
+}\r
+\r
+div.tableblock > table {\r
+  border-color: #527bbd;\r
+  border-width: 3px;\r
+}\r
+thead {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+}\r
+tfoot {\r
+  font-weight: bold;\r
+}\r
+\r
+div.hlist {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+td.hlist1 {\r
+  vertical-align: top;\r
+  font-style: italic;\r
+  padding-right: 0.8em;\r
+}\r
+td.hlist2 {\r
+  vertical-align: top;\r
+}\r
+\r
+@media print {\r
+  div#footer-badges { display: none; }\r
+}\r
+include::./stylesheets/xhtml11-manpage.css[]\r
+/* Workarounds for IE6's broken and incomplete CSS2. */\r
+\r
+div.sidebar-content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+div.sidebar-title, div.image-title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  margin-top: 0.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+div.listingblock div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock-content {\r
+  padding-left: 2.0em;\r
+}\r
+\r
+div.exampleblock-content {\r
+  border-left: 2px solid silver;\r
+  padding-left: 0.5em;\r
+}\r
+</style>\r
+<title>git-check-attr(1)</title>\r
+</head>\r
+<body>\r
+<div id="header">\r
+<h1>\r
+git-check-attr(1) Manual Page\r
+</h1>\r
+<h2>NAME</h2>\r
+<div class="sectionbody">\r
+<p>git-check-attr -\r
+   Display gitattributes information.\r
+</p>\r
+</div>\r
+</div>\r
+<h2>SYNOPSIS</h2>\r
+<div class="sectionbody">\r
+<p><em>git-check-attr</em> attr&#8230; [--] pathname&#8230;</p>\r
+</div>\r
+<h2>DESCRIPTION</h2>\r
+<div class="sectionbody">\r
+<p>For every pathname, this command will list if each attr is <em>unspecified</em>,\r
+<em>set</em>, or <em>unset</em> as a gitattribute on that pathname.</p>\r
+</div>\r
+<h2>OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+--\r
+</dt>\r
+<dd>\r
+<p>\r
+        Interpret all preceding arguments as attributes, and all following\r
+        arguments as path names. If not supplied, only the first argument will\r
+        be treated as an attribute.\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
+<h2>Author</h2>\r
+<div class="sectionbody">\r
+<p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>\r
+</div>\r
+<h2>Documentation</h2>\r
+<div class="sectionbody">\r
+<p>Documentation by James Bowes.</p>\r
+</div>\r
+<h2>GIT</h2>\r
+<div class="sectionbody">\r
+<p>Part of the <a href="git.html">git(7)</a> suite</p>\r
+</div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 22-Apr-2007 05:47:49 UTC\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/git-check-attr.txt b/git-check-attr.txt
new file mode 100644 (file)
index 0000000..ceb5195
--- /dev/null
@@ -0,0 +1,37 @@
+git-check-attr(1)
+=================
+
+NAME
+----
+git-check-attr - Display gitattributes information.
+
+
+SYNOPSIS
+--------
+'git-check-attr' attr... [--] pathname...
+
+DESCRIPTION
+-----------
+For every pathname, this command will list if each attr is 'unspecified',
+'set', or 'unset' as a gitattribute on that pathname.
+
+OPTIONS
+-------
+\--::
+       Interpret all preceding arguments as attributes, and all following
+       arguments as path names. If not supplied, only the first argument will
+       be treated as an attribute.
+
+
+Author
+------
+Written by Junio C Hamano <junkio@cox.net>
+
+Documentation
+--------------
+Documentation by James Bowes.
+
+GIT
+---
+Part of the gitlink:git[7] suite
+
index 7ed664e53adb3732de38988c60392de9257283ec..2d6093b2f1301ddd5c60f9114cc252c3c25577cc 100644 (file)
@@ -1377,6 +1377,34 @@ merge.verbosity
 </p>\r
 </dd>\r
 <dt>\r
+merge.&lt;driver&gt;.name\r
+</dt>\r
+<dd>\r
+<p>\r
+        Defines a human readable name for a custom low-level\r
+        merge driver.  See <a href="gitattributes.html">gitattributes(5)</a> for details.\r
+</p>\r
+</dd>\r
+<dt>\r
+merge.&lt;driver&gt;.driver\r
+</dt>\r
+<dd>\r
+<p>\r
+        Defines the command that implements a custom low-level\r
+        merge driver.  See <a href="gitattributes.html">gitattributes(5)</a> for details.\r
+</p>\r
+</dd>\r
+<dt>\r
+merge.&lt;driver&gt;.recursive\r
+</dt>\r
+<dd>\r
+<p>\r
+        Names a low-level merge driver to be used when\r
+        performing an internal merge between common ancestors.\r
+        See <a href="gitattributes.html">gitattributes(5)</a> for details.\r
+</p>\r
+</dd>\r
+<dt>\r
 pack.window\r
 </dt>\r
 <dd>\r
@@ -1617,7 +1645,7 @@ transfer.unpackLimit
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 20-Apr-2007 07:19:55 UTC\r
+Last updated 22-Apr-2007 05:47:50 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 6d269d093dd5ceab748966a09c95fbae92b95fd7..921f59527d6f0c0f45c3c97f90f5f848420a269b 100644 (file)
@@ -361,6 +361,16 @@ objects/pack/ directory of a git repository.</p>
         locate any which have outlived their usefulness.\r
 </p>\r
 </dd>\r
+<dt>\r
+--index-version=&lt;version&gt;[,&lt;offset&gt;]\r
+</dt>\r
+<dd>\r
+<p>\r
+        This is intended to be used by the test suite only. It allows\r
+        to force the version for the generated pack index, and to force\r
+        64-bit index entries on objects located above the given offset.\r
+</p>\r
+</dd>\r
 </dl>\r
 </div>\r
 <h2>Note</h2>\r
@@ -386,7 +396,7 @@ mentioned above.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 04-Apr-2007 18:33:46 UTC\r
+Last updated 22-Apr-2007 05:47:50 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 2229ee86b72865c656112aae87b9593d199bc2b8..b7a49b9f58af24844e0eae486d1cfec72bc518c6 100644 (file)
@@ -68,6 +68,11 @@ OPTIONS
        message can later be searched for within all .keep files to
        locate any which have outlived their usefulness.
 
+--index-version=<version>[,<offset>]::
+       This is intended to be used by the test suite only. It allows
+       to force the version for the generated pack index, and to force
+       64-bit index entries on objects located above the given offset.
+
 
 Note
 ----
index 20170efd47a98c196021482f8b2934a8f4f09448..dc1fd8ef5e9776d83445ea89aecbd51945ae0bd1 100644 (file)
@@ -467,6 +467,16 @@ base-name
         packfile by 3-5 per-cent.\r
 </p>\r
 </dd>\r
+<dt>\r
+--index-version=&lt;version&gt;[,&lt;offset&gt;]\r
+</dt>\r
+<dd>\r
+<p>\r
+        This is intended to be used by the test suite only. It allows\r
+        to force the version for the generated pack index, and to force\r
+        64-bit index entries on objects located above the given offset.\r
+</p>\r
+</dd>\r
 </dl>\r
 </div>\r
 <h2>Author</h2>\r
@@ -489,7 +499,7 @@ base-name
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 04-Apr-2007 18:33:54 UTC\r
+Last updated 22-Apr-2007 05:47:51 UTC\r
 </div>\r
 </div>\r
 </body>\r
index fdc6f9728921e3bf71a57d441c99c8fb7d280803..d9e11c65344a52fd81023e26cc1535ac825106dd 100644 (file)
@@ -138,6 +138,11 @@ base-name::
        length, this option typically shrinks the resulting
        packfile by 3-5 per-cent.
 
+--index-version=<version>[,<offset>]::
+       This is intended to be used by the test suite only. It allows
+       to force the version for the generated pack index, and to force
+       64-bit index entries on objects located above the given offset.
+
 
 Author
 ------
index 9aa19ac03e63a86089e942fe3ce16d6088d13704..e831d8a9876579e6f10bc7f53192adf2b87330ca 100644 (file)
--- a/git.html
+++ b/git.html
@@ -1368,6 +1368,14 @@ users typically do not use them directly.</p>
 </p>\r
 </dd>\r
 <dt>\r
+<a href="git-check-attr.html">git-check-attr(1)</a>\r
+</dt>\r
+<dd>\r
+<p>\r
+        Display gitattributes information..\r
+</p>\r
+</dd>\r
+<dt>\r
 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>\r
 </dt>\r
 <dd>\r
@@ -2317,7 +2325,7 @@ contributors on the git-list &lt;git@vger.kernel.org&gt;.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Apr-2007 00:51:17 UTC\r
+Last updated 22-Apr-2007 06:51:51 UTC\r
 </div>\r
 </div>\r
 </body>\r
diff --git a/git.txt b/git.txt
index 9defc332736e1b6297ac003e491706d5ce32e834..ca1f78f790149d845e7f74fc8456399589e2e5b9 100644 (file)
--- a/git.txt
+++ b/git.txt
@@ -37,7 +37,11 @@ Documentation for older releases are available here:
 
 * link:RelNotes-1.5.1.txt[release notes for 1.5.1]
 
-* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
+* link:v1.5.1.2/git.html[documentation for release 1.5.1.2]
+
+* link:RelNotes-1.5.1.2.txt[release notes for 1.5.1.2]
+
+* link:RelNotes-1.5.1.1.txt[release notes for 1.5.1.1]
 
 * link:RelNotes-1.5.0.7.txt[release notes for 1.5.0.7]
 
diff --git a/gitattributes.html b/gitattributes.html
new file mode 100644 (file)
index 0000000..071fab7
--- /dev/null
@@ -0,0 +1,596 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 7.0.2" />\r
+<style type="text/css">\r
+/* Debug borders */\r
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
+/*\r
+  border: 1px solid red;\r
+*/\r
+}\r
+\r
+body {\r
+  margin: 1em 5% 1em 5%;\r
+}\r
+\r
+a { color: blue; }\r
+a:visited { color: fuchsia; }\r
+\r
+em {\r
+  font-style: italic;\r
+}\r
+\r
+strong {\r
+  font-weight: bold;\r
+}\r
+\r
+tt {\r
+  color: navy;\r
+}\r
+\r
+h1, h2, h3, h4, h5, h6 {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  margin-top: 1.2em;\r
+  margin-bottom: 0.5em;\r
+  line-height: 1.3;\r
+}\r
+\r
+h1 {\r
+  border-bottom: 2px solid silver;\r
+}\r
+h2 {\r
+  border-bottom: 2px solid silver;\r
+  padding-top: 0.5em;\r
+}\r
+\r
+div.sectionbody {\r
+  font-family: serif;\r
+  margin-left: 0;\r
+}\r
+\r
+hr {\r
+  border: 1px solid silver;\r
+}\r
+\r
+p {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+pre {\r
+  padding: 0;\r
+  margin: 0;\r
+}\r
+\r
+span#author {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  font-size: 1.2em;\r
+}\r
+span#email {\r
+}\r
+span#revision {\r
+  font-family: sans-serif;\r
+}\r
+\r
+div#footer {\r
+  font-family: sans-serif;\r
+  font-size: small;\r
+  border-top: 2px solid silver;\r
+  padding-top: 0.5em;\r
+  margin-top: 4.0em;\r
+}\r
+div#footer-text {\r
+  float: left;\r
+  padding-bottom: 0.5em;\r
+}\r
+div#footer-badges {\r
+  float: right;\r
+  padding-bottom: 0.5em;\r
+}\r
+\r
+div#preamble,\r
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
+div.admonitionblock {\r
+  margin-right: 10%;\r
+  margin-top: 1.5em;\r
+  margin-bottom: 1.5em;\r
+}\r
+div.admonitionblock {\r
+  margin-top: 2.5em;\r
+  margin-bottom: 2.5em;\r
+}\r
+\r
+div.content { /* Block element content. */\r
+  padding: 0;\r
+}\r
+\r
+/* Block element titles. */\r
+div.title, caption.title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  text-align: left;\r
+  margin-top: 1.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+div.title + * {\r
+  margin-top: 0;\r
+}\r
+\r
+td div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content + div.title {\r
+  margin-top: 0.0em;\r
+}\r
+\r
+div.sidebarblock > div.content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.listingblock > div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock > div.content {\r
+  padding-left: 2.0em;\r
+}\r
+div.quoteblock .attribution {\r
+  text-align: right;\r
+}\r
+\r
+div.admonitionblock .icon {\r
+  vertical-align: top;\r
+  font-size: 1.1em;\r
+  font-weight: bold;\r
+  text-decoration: underline;\r
+  color: #527bbd;\r
+  padding-right: 0.5em;\r
+}\r
+div.admonitionblock td.content {\r
+  padding-left: 0.5em;\r
+  border-left: 2px solid silver;\r
+}\r
+\r
+div.exampleblock > div.content {\r
+  border-left: 2px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.verseblock div.content {\r
+  white-space: pre;\r
+}\r
+\r
+div.imageblock div.content { padding-left: 0; }\r
+div.imageblock img { border: 1px solid silver; }\r
+span.image img { border-style: none; }\r
+\r
+dl {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+dt {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0;\r
+  font-style: italic;\r
+}\r
+dd > *:first-child {\r
+  margin-top: 0;\r
+}\r
+\r
+ul, ol {\r
+    list-style-position: outside;\r
+}\r
+ol.olist2 {\r
+  list-style-type: lower-alpha;\r
+}\r
+\r
+div.tableblock > table {\r
+  border-color: #527bbd;\r
+  border-width: 3px;\r
+}\r
+thead {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+}\r
+tfoot {\r
+  font-weight: bold;\r
+}\r
+\r
+div.hlist {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+td.hlist1 {\r
+  vertical-align: top;\r
+  font-style: italic;\r
+  padding-right: 0.8em;\r
+}\r
+td.hlist2 {\r
+  vertical-align: top;\r
+}\r
+\r
+@media print {\r
+  div#footer-badges { display: none; }\r
+}\r
+include::./stylesheets/xhtml11-manpage.css[]\r
+/* Workarounds for IE6's broken and incomplete CSS2. */\r
+\r
+div.sidebar-content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+div.sidebar-title, div.image-title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  margin-top: 0.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+div.listingblock div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock-content {\r
+  padding-left: 2.0em;\r
+}\r
+\r
+div.exampleblock-content {\r
+  border-left: 2px solid silver;\r
+  padding-left: 0.5em;\r
+}\r
+</style>\r
+<title>gitattributes(5)</title>\r
+</head>\r
+<body>\r
+<div id="header">\r
+<h1>\r
+gitattributes(5) Manual Page\r
+</h1>\r
+<h2>NAME</h2>\r
+<div class="sectionbody">\r
+<p>gitattributes -\r
+   defining attributes per path\r
+</p>\r
+</div>\r
+</div>\r
+<h2>SYNOPSIS</h2>\r
+<div class="sectionbody">\r
+<p>$GIT_DIR/info/attributes, gitattributes</p>\r
+</div>\r
+<h2>DESCRIPTION</h2>\r
+<div class="sectionbody">\r
+<p>A <tt>gitattributes</tt> file is a simple text file that gives\r
+<tt>attributes</tt> to pathnames.</p>\r
+<p>Each line in <tt>gitattributes</tt> file is of form:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>glob    attr1 attr2 ...</tt></pre>\r
+</div></div>\r
+<p>That is, a glob pattern followed by an attributes list,\r
+separated by whitespaces.  When the glob pattern matches the\r
+path in question, the attributes listed on the line are given to\r
+the path.</p>\r
+<p>Each attribute can be in one of these states for a given path:</p>\r
+<dl>\r
+<dt>\r
+Set\r
+</dt>\r
+<dd>\r
+<p>\r
+        The path has the attribute with special value "true";\r
+        this is specified by listing only the name of the\r
+        attribute in the attribute list.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unset\r
+</dt>\r
+<dd>\r
+<p>\r
+        The path has the attribute with special value "false";\r
+        this is specified by listing the name of the attribute\r
+        prefixed with a dash <tt>-</tt> in the attribute list.\r
+</p>\r
+</dd>\r
+<dt>\r
+Set to a value\r
+</dt>\r
+<dd>\r
+<p>\r
+        The path has the attribute with specified string value;\r
+        this is specified by listing the name of the attribute\r
+        followed by an equal sign <tt>=</tt> and its value in the\r
+        attribute list.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unspecified\r
+</dt>\r
+<dd>\r
+<p>\r
+        No glob pattern matches the path, and nothing says if\r
+        the path has or does not have the attribute.\r
+</p>\r
+</dd>\r
+</dl>\r
+<p>When more than one glob pattern matches the path, a later line\r
+overrides an earlier line.</p>\r
+<p>When deciding what attributes are assigned to a path, git\r
+consults <tt>$GIT_DIR/info/attributes</tt> file (which has the highest\r
+precedence), <tt>.gitattributes</tt> file in the same directory as the\r
+path in question, and its parent directories (the further the\r
+directory that contains <tt>.gitattributes</tt> is from the path in\r
+question, the lower its precedence).</p>\r
+<p>Sometimes you would need to override an setting of an attribute\r
+for a path to <tt>unspecified</tt> state.  This can be done by listing\r
+the name of the attribute prefixed with an exclamation point <tt>!</tt>.</p>\r
+</div>\r
+<h2>EFFECTS</h2>\r
+<div class="sectionbody">\r
+<p>Certain operations by git can be influenced by assigning\r
+particular attributes to a path.  Currently, three operations\r
+are attributes-aware.</p>\r
+<h3>Checking-out and checking-in</h3>\r
+<p>The attribute <tt>crlf</tt> affects how the contents stored in the\r
+repository are copied to the working tree files when commands\r
+such as <tt>git checkout</tt> and <tt>git merge</tt> run.  It also affects how\r
+git stores the contents you prepare in the working tree in the\r
+repository upon <tt>git add</tt> and <tt>git commit</tt>.</p>\r
+<dl>\r
+<dt>\r
+Set\r
+</dt>\r
+<dd>\r
+<p>\r
+        Setting the <tt>crlf</tt> attribute on a path is meant to mark\r
+        the path as a "text" file.  <em>core.autocrlf</em> conversion\r
+        takes place without guessing the content type by\r
+        inspection.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unset\r
+</dt>\r
+<dd>\r
+<p>\r
+        Unsetting the <tt>crlf</tt> attribute on a path is meant to\r
+        mark the path as a "binary" file.  The path never goes\r
+        through line endings conversion upon checkin/checkout.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unspecified\r
+</dt>\r
+<dd>\r
+<p>\r
+        Unspecified <tt>crlf</tt> attribute tells git to apply the\r
+        <tt>core.autocrlf</tt> conversion when the file content looks\r
+        like text.\r
+</p>\r
+</dd>\r
+<dt>\r
+Set to string value "input"\r
+</dt>\r
+<dd>\r
+<p>\r
+        This is similar to setting the attribute to <tt>true</tt>, but\r
+        also forces git to act as if <tt>core.autocrlf</tt> is set to\r
+        <tt>input</tt> for the path.\r
+</p>\r
+</dd>\r
+</dl>\r
+<p>Any other value set to <tt>crlf</tt> attribute is ignored and git acts\r
+as if the attribute is left unspecified.</p>\r
+<h4>The <tt>core.autocrlf</tt> conversion</h4>\r
+<p>If the configuration variable <tt>core.autocrlf</tt> is false, no\r
+conversion is done.</p>\r
+<p>When <tt>core.autocrlf</tt> is true, it means that the platform wants\r
+CRLF line endings for files in the working tree, and you want to\r
+convert them back to the normal LF line endings when checking\r
+in to the repository.</p>\r
+<p>When <tt>core.autocrlf</tt> is set to "input", line endings are\r
+converted to LF upon checkin, but there is no conversion done\r
+upon checkout.</p>\r
+<h3>Generating diff text</h3>\r
+<p>The attribute <tt>diff</tt> affects if <tt>git diff</tt> generates textual\r
+patch for the path or just says <tt>Binary files differ</tt>.</p>\r
+<dl>\r
+<dt>\r
+Set\r
+</dt>\r
+<dd>\r
+<p>\r
+        A path to which the <tt>diff</tt> attribute is set is treated\r
+        as text, even when they contain byte values that\r
+        normally never appear in text files, such as NUL.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unset\r
+</dt>\r
+<dd>\r
+<p>\r
+        A path to which the <tt>diff</tt> attribute is unset will\r
+        generate <tt>Binary files differ</tt>.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unspecified\r
+</dt>\r
+<dd>\r
+<p>\r
+        A path to which the <tt>diff</tt> attribute is unspecified\r
+        first gets its contents inspected, and if it looks like\r
+        text, it is treated as text.  Otherwise it would\r
+        generate <tt>Binary files differ</tt>.\r
+</p>\r
+</dd>\r
+</dl>\r
+<p>Any other value set to <tt>diff</tt> attribute is ignored and git acts\r
+as if the attribute is left unspecified.</p>\r
+<h3>Performing a three-way merge</h3>\r
+<p>The attribute <tt>merge</tt> affects how three versions of a file is\r
+merged when a file-level merge is necessary during <tt>git merge</tt>,\r
+and other programs such as <tt>git revert</tt> and <tt>git cherry-pick</tt>.</p>\r
+<dl>\r
+<dt>\r
+Set\r
+</dt>\r
+<dd>\r
+<p>\r
+        Built-in 3-way merge driver is used to merge the\r
+        contents in a way similar to <tt>merge</tt> command of <tt>RCS</tt>\r
+        suite.  This is suitable for ordinary text files.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unset\r
+</dt>\r
+<dd>\r
+<p>\r
+        Take the version from the current branch as the\r
+        tentative merge result, and declare that the merge has\r
+        conflicts.  This is suitable for binary files that does\r
+        not have a well-defined merge semantics.\r
+</p>\r
+</dd>\r
+<dt>\r
+Unspecified\r
+</dt>\r
+<dd>\r
+<p>\r
+        By default, this uses the same built-in 3-way merge\r
+        driver as is the case the <tt>merge</tt> attribute is set.\r
+        However, <tt>merge.default</tt> configuration variable can name\r
+        different merge driver to be used for paths to which the\r
+        <tt>merge</tt> attribute is unspecified.\r
+</p>\r
+</dd>\r
+<dt>\r
+Any other string value\r
+</dt>\r
+<dd>\r
+<p>\r
+        3-way merge is performed using the specified custom\r
+        merge driver.  The built-in 3-way merge driver can be\r
+        explicitly specified by asking for "text" driver; the\r
+        built-in "take the current branch" driver can be\r
+        requested by "binary".\r
+</p>\r
+</dd>\r
+</dl>\r
+<h4>Defining a custom merge driver</h4>\r
+<p>The definition of a merge driver is done in <tt>gitconfig</tt> not\r
+<tt>gitattributes</tt> file, so strictly speaking this manual page is a\r
+wrong place to talk about it.  However&#8230;</p>\r
+<p>To define a custom merge driver <tt>filfre</tt>, add a section to your\r
+<tt>$GIT_DIR/config</tt> file (or <tt>$HOME/.gitconfig</tt> file) like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>[merge "filfre"]\r
+        name = feel-free merge driver\r
+        driver = filfre %O %A %B\r
+        recursive = binary</tt></pre>\r
+</div></div>\r
+<p>The <tt>merge.*.name</tt> variable gives the driver a human-readable\r
+name.</p>\r
+<p>The <tt>merge.*.driver</tt> variable's value is used to construct a\r
+command to run to merge ancestor's version (<tt>%O</tt>), current\r
+version (<tt>%A</tt>) and the other branches' version (<tt>%B</tt>).  These\r
+three tokens are replaced with the names of temporary files that\r
+hold the contents of these versions when the command line is\r
+built.</p>\r
+<p>The merge driver is expected to leave the result of the merge in\r
+the file named with <tt>%A</tt> by overwriting it, and exit with zero\r
+status if it managed to merge them cleanly, or non-zero if there\r
+were conflicts.</p>\r
+<p>The <tt>merge.*.recursive</tt> variable specifies what other merge\r
+driver to use when the merge driver is called for an internal\r
+merge between common ancestors, when there are more than one.\r
+When left unspecified, the driver itself is used for both\r
+internal merge and the final merge.</p>\r
+</div>\r
+<h2>EXAMPLE</h2>\r
+<div class="sectionbody">\r
+<p>If you have these three <tt>gitattributes</tt> file:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>(in $GIT_DIR/info/attributes)\r
+\r
+a*      foo !bar -baz\r
+\r
+(in .gitattributes)\r
+abc     foo bar baz\r
+\r
+(in t/.gitattributes)\r
+ab*     merge=filfre\r
+abc     -foo -bar\r
+*.c     frotz</tt></pre>\r
+</div></div>\r
+<p>the attributes given to path <tt>t/abc</tt> are computed as follows:</p>\r
+<ol>\r
+<li>\r
+<p>\r
+By examining <tt>t/.gitattributes</tt> (which is in the same\r
+   diretory as the path in question), git finds that the first\r
+   line matches.  <tt>merge</tt> attribute is set.  It also finds that\r
+   the second line matches, and attributes <tt>foo</tt> and <tt>bar</tt>\r
+   are unset.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Then it examines <tt>.gitattributes</tt> (which is in the parent\r
+   directory), and finds that the first line matches, but\r
+   <tt>t/.gitattributes</tt> file already decided how <tt>merge</tt>, <tt>foo</tt>\r
+   and <tt>bar</tt> attributes should be given to this path, so it\r
+   leaves <tt>foo</tt> and <tt>bar</tt> unset.  Attribute <tt>baz</tt> is set.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Finally it examines <tt>$GIT_DIR/info/gitattributes</tt>.  This file\r
+   is used to override the in-tree settings.  The first line is\r
+   a match, and <tt>foo</tt> is set, <tt>bar</tt> is reverted to unspecified\r
+   state, and <tt>baz</tt> is unset.\r
+</p>\r
+</li>\r
+</ol>\r
+<p>As the result, the attributes assignement to <tt>t/abc</tt> becomes:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>foo     set to true\r
+bar     unspecified\r
+baz     set to false\r
+merge   set to string value "filfre"\r
+frotz   unspecified</tt></pre>\r
+</div></div>\r
+</div>\r
+<h2>GIT</h2>\r
+<div class="sectionbody">\r
+<p>Part of the <a href="git.html">git(7)</a> suite</p>\r
+</div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 22-Apr-2007 07:22:00 UTC\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/gitattributes.txt b/gitattributes.txt
new file mode 100644 (file)
index 0000000..1268717
--- /dev/null
@@ -0,0 +1,285 @@
+gitattributes(5)
+================
+
+NAME
+----
+gitattributes - defining attributes per path
+
+SYNOPSIS
+--------
+$GIT_DIR/info/attributes, gitattributes
+
+
+DESCRIPTION
+-----------
+
+A `gitattributes` file is a simple text file that gives
+`attributes` to pathnames.
+
+Each line in `gitattributes` file is of form:
+
+       glob    attr1 attr2 ...
+
+That is, a glob pattern followed by an attributes list,
+separated by whitespaces.  When the glob pattern matches the
+path in question, the attributes listed on the line are given to
+the path.
+
+Each attribute can be in one of these states for a given path:
+
+Set::
+
+       The path has the attribute with special value "true";
+       this is specified by listing only the name of the
+       attribute in the attribute list.
+
+Unset::
+
+       The path has the attribute with special value "false";
+       this is specified by listing the name of the attribute
+       prefixed with a dash `-` in the attribute list.
+
+Set to a value::
+
+       The path has the attribute with specified string value;
+       this is specified by listing the name of the attribute
+       followed by an equal sign `=` and its value in the
+       attribute list.
+
+Unspecified::
+
+       No glob pattern matches the path, and nothing says if
+       the path has or does not have the attribute.
+
+When more than one glob pattern matches the path, a later line
+overrides an earlier line.
+
+When deciding what attributes are assigned to a path, git
+consults `$GIT_DIR/info/attributes` file (which has the highest
+precedence), `.gitattributes` file in the same directory as the
+path in question, and its parent directories (the further the
+directory that contains `.gitattributes` is from the path in
+question, the lower its precedence).
+
+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 `!`.
+
+
+EFFECTS
+-------
+
+Certain operations by git can be influenced by assigning
+particular attributes to a path.  Currently, three operations
+are attributes-aware.
+
+Checking-out and checking-in
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The attribute `crlf` affects how the contents stored in the
+repository are copied to the working tree files when commands
+such as `git checkout` and `git merge` run.  It also affects how
+git stores the contents you prepare in the working tree in the
+repository upon `git add` and `git commit`.
+
+Set::
+
+       Setting the `crlf` attribute on a path is meant to mark
+       the path as a "text" file.  'core.autocrlf' conversion
+       takes place without guessing the content type by
+       inspection.
+
+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.
+
+Unspecified::
+
+       Unspecified `crlf` attribute tells git to apply the
+       `core.autocrlf` conversion when the file content looks
+       like text.
+
+Set to string value "input"::
+
+       This is similar to setting the attribute to `true`, but
+       also forces git to act as if `core.autocrlf` is set to
+       `input` for the path.
+
+Any other value set to `crlf` attribute is ignored and git acts
+as if the attribute is left unspecified.
+
+
+The `core.autocrlf` conversion
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If the configuration variable `core.autocrlf` is false, no
+conversion is done.
+
+When `core.autocrlf` is true, it means that the platform wants
+CRLF line endings for files in the working tree, and you want to
+convert them back to the normal LF line endings when checking
+in to the repository.
+
+When `core.autocrlf` is set to "input", line endings are
+converted to LF upon checkin, but there is no conversion done
+upon checkout.
+
+
+Generating diff text
+~~~~~~~~~~~~~~~~~~~~
+
+The attribute `diff` affects if `git diff` generates textual
+patch for the path or just says `Binary files differ`.
+
+Set::
+
+       A path to which the `diff` attribute is set is treated
+       as text, even when they contain byte values that
+       normally never appear in text files, such as NUL.
+
+Unset::
+
+       A path to which the `diff` attribute is unset will
+       generate `Binary files differ`.
+
+Unspecified::
+
+       A path to which the `diff` attribute is unspecified
+       first gets its contents inspected, and if it looks like
+       text, it is treated as text.  Otherwise it would
+       generate `Binary files differ`.
+
+Any other value set to `diff` attribute is ignored and git acts
+as if the attribute is left unspecified.
+
+
+Performing a three-way merge
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The attribute `merge` affects how three versions of a file is
+merged when a file-level merge is necessary during `git merge`,
+and other programs such as `git revert` and `git cherry-pick`.
+
+Set::
+
+       Built-in 3-way merge driver is used to merge the
+       contents in a way similar to `merge` command of `RCS`
+       suite.  This is suitable for ordinary text files.
+
+Unset::
+
+       Take the version from the current branch as the
+       tentative merge result, and declare that the merge has
+       conflicts.  This is suitable for binary files that does
+       not have a well-defined merge semantics.
+
+Unspecified::
+
+       By default, this uses the same built-in 3-way merge
+       driver as is the case the `merge` attribute is set.
+       However, `merge.default` configuration variable can name
+       different merge driver to be used for paths to which the
+       `merge` attribute is unspecified.
+
+Any other string value::
+
+       3-way merge is performed using the specified custom
+       merge driver.  The built-in 3-way merge driver can be
+       explicitly specified by asking for "text" driver; the
+       built-in "take the current branch" driver can be
+       requested by "binary".
+
+
+Defining a custom merge driver
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The definition of a merge driver is done in `gitconfig` not
+`gitattributes` file, so strictly speaking this manual page is a
+wrong place to talk about it.  However...
+
+To define a custom merge driver `filfre`, add a section to your
+`$GIT_DIR/config` file (or `$HOME/.gitconfig` file) like this:
+
+----------------------------------------------------------------
+[merge "filfre"]
+       name = feel-free merge driver
+       driver = filfre %O %A %B
+       recursive = binary
+----------------------------------------------------------------
+
+The `merge.*.name` variable gives the driver a human-readable
+name.
+
+The `merge.*.driver` variable's value is used to construct a
+command to run to merge ancestor's version (`%O`), current
+version (`%A`) and the other branches' version (`%B`).  These
+three tokens are replaced with the names of temporary files that
+hold the contents of these versions when the command line is
+built.
+
+The merge driver is expected to leave the result of the merge in
+the file named with `%A` by overwriting it, and exit with zero
+status if it managed to merge them cleanly, or non-zero if there
+were conflicts.
+
+The `merge.*.recursive` variable specifies what other merge
+driver to use when the merge driver is called for an internal
+merge between common ancestors, when there are more than one.
+When left unspecified, the driver itself is used for both
+internal merge and the final merge.
+
+
+EXAMPLE
+-------
+
+If you have these three `gitattributes` file:
+
+----------------------------------------------------------------
+(in $GIT_DIR/info/attributes)
+
+a*     foo !bar -baz
+
+(in .gitattributes)
+abc    foo bar baz
+
+(in t/.gitattributes)
+ab*    merge=filfre
+abc    -foo -bar
+*.c    frotz
+----------------------------------------------------------------
+
+the attributes given to path `t/abc` are computed as follows:
+
+1. By examining `t/.gitattributes` (which is in the same
+   diretory as the path in question), git finds that the first
+   line matches.  `merge` attribute is set.  It also finds that
+   the second line matches, and attributes `foo` and `bar`
+   are unset.
+
+2. Then it examines `.gitattributes` (which is in the parent
+   directory), and finds that the first line matches, but
+   `t/.gitattributes` file already decided how `merge`, `foo`
+   and `bar` attributes should be given to this path, so it
+   leaves `foo` and `bar` unset.  Attribute `baz` is set.
+
+3. Finally it examines `$GIT_DIR/info/gitattributes`.  This file
+   is used to override the in-tree settings.  The first line is
+   a match, and `foo` is set, `bar` is reverted to unspecified
+   state, and `baz` is unset.
+
+As the result, the attributes assignement to `t/abc` becomes:
+
+----------------------------------------------------------------
+foo    set to true
+bar    unspecified
+baz    set to false
+merge  set to string value "filfre"
+frotz  unspecified
+----------------------------------------------------------------
+
+
+GIT
+---
+Part of the gitlink:git[7] suite