Autogenerated HTML docs for v1.5.4.1-183-gf873
authorJunio C Hamano <junio@hera.kernel.org>
Sun, 17 Feb 2008 03:53:51 +0000 (03:53 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sun, 17 Feb 2008 03:53:51 +0000 (03:53 +0000)
18 files changed:
config.txt
git-commit.html
git-commit.txt
git-config.html
git-help.html
git-help.txt
git-instaweb.html
git-instaweb.txt
git-reset.html
git-reset.txt
git-web--browse.html [new file with mode: 0644]
git-web--browse.txt [new file with mode: 0644]
gitattributes.html
gitattributes.txt
gitignore.html
gitignore.txt
hooks.html
hooks.txt

index f9bdb164e054ec2d633baab3da69ddd47e14931f..f2f6a774e044e03e78d83e4e77aedcff122f5688 100644 (file)
@@ -139,6 +139,51 @@ core.autocrlf::
        "text" (i.e. be subjected to the autocrlf mechanism) is
        decided purely based on the contents.
 
+core.safecrlf::
+       If true, makes git check if converting `CRLF` as controlled by
+       `core.autocrlf` is reversible.  Git will verify if a command
+       modifies a file in the work tree either directly or indirectly.
+       For example, committing a file followed by checking out the
+       same file should yield the original file in the work tree.  If
+       this is not the case for the current setting of
+       `core.autocrlf`, git will reject the file.  The variable can
+       be set to "warn", in which case git will only warn about an
+       irreversible conversion but continue the operation.
++
+CRLF conversion bears a slight chance of corrupting data.
+autocrlf=true will convert CRLF to LF during commit and LF to
+CRLF during checkout.  A file that contains a mixture of LF and
+CRLF before the commit cannot be recreated by git.  For text
+files this is the right thing to do: it corrects line endings
+such that we have only LF line endings in the repository.
+But for binary files that are accidentally classified as text the
+conversion can corrupt data.
++
+If you recognize such corruption early you can easily fix it by
+setting the conversion type explicitly in .gitattributes.  Right
+after committing you still have the original file in your work
+tree and this file is not yet corrupted.  You can explicitly tell
+git that this file is binary and git will handle the file
+appropriately.
++
+Unfortunately, the desired effect of cleaning up text files with
+mixed line endings and the undesired effect of corrupting binary
+files cannot be distinguished.  In both cases CRLFs are removed
+in an irreversible way.  For text files this is the right thing
+to do because CRLFs are line endings, while for binary files
+converting CRLFs corrupts data.
++
+Note, this safety check does not mean that a checkout will generate a
+file identical to the original file for a different setting of
+`core.autocrlf`, but only for the current one.  For example, a text
+file with `LF` would be accepted with `core.autocrlf=input` and could
+later be checked out with `core.autocrlf=true`, in which case the
+resulting file would contain `CRLF`, although the original file
+contained `LF`.  However, in both work trees the line endings would be
+consistent, that is either all `LF` or all `CRLF`, but never mixed.  A
+file with mixed line endings would be reported by the `core.safecrlf`
+mechanism.
+
 core.symlinks::
        If false, symbolic links are checked out as small plain files that
        contain the link text. linkgit:git-update-index[1] and
index 9842b70d2efcfcb2ad2c210db016adb1d7771178..5e7e4aaf0849b0e2cfe4d5bcff9dbf7e3ed6afa6 100644 (file)
@@ -707,8 +707,8 @@ order).</p>
 </div>\r
 <h2>HOOKS</h2>\r
 <div class="sectionbody">\r
-<p>This command can run <tt>commit-msg</tt>, <tt>pre-commit</tt>, and\r
-<tt>post-commit</tt> hooks.  See <a href="hooks.html">hooks</a> for more\r
+<p>This command can run <tt>commit-msg</tt>, <tt>prepare-commit-msg</tt>, <tt>pre-commit</tt>,\r
+and <tt>post-commit</tt> hooks.  See <a href="hooks.html">hooks</a> for more\r
 information.</p>\r
 </div>\r
 <h2>SEE ALSO</h2>\r
@@ -730,7 +730,7 @@ Junio C Hamano &lt;junkio@cox.net&gt;</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:50:07 UTC\r
+Last updated 17-Feb-2008 03:50:04 UTC\r
 </div>\r
 </div>\r
 </body>\r
index c3725b2ed9958cdc02b312895f35d016e3579d10..b4ae61ff46f4b7ff9e71e9e91a999fdc8fc17560 100644 (file)
@@ -280,8 +280,8 @@ order).
 
 HOOKS
 -----
-This command can run `commit-msg`, `pre-commit`, and
-`post-commit` hooks.  See link:hooks.html[hooks] for more
+This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
+and `post-commit` hooks.  See link:hooks.html[hooks] for more
 information.
 
 
index 9f6e96bd5046b4bf147ee4f228efbadfe570f908..95a9a3d671deb244bb5a0ba76de601ae8d89430c 100644 (file)
@@ -849,6 +849,52 @@ core.autocrlf
 </p>\r
 </dd>\r
 <dt>\r
+core.safecrlf\r
+</dt>\r
+<dd>\r
+<p>\r
+        If true, makes git check if converting <tt>CRLF</tt> as controlled by\r
+        <tt>core.autocrlf</tt> is reversible.  Git will verify if a command\r
+        modifies a file in the work tree either directly or indirectly.\r
+        For example, committing a file followed by checking out the\r
+        same file should yield the original file in the work tree.  If\r
+        this is not the case for the current setting of\r
+        <tt>core.autocrlf</tt>, git will reject the file.  The variable can\r
+        be set to "warn", in which case git will only warn about an\r
+        irreversible conversion but continue the operation.\r
+</p>\r
+<p>CRLF conversion bears a slight chance of corrupting data.\r
+autocrlf=true will convert CRLF to LF during commit and LF to\r
+CRLF during checkout.  A file that contains a mixture of LF and\r
+CRLF before the commit cannot be recreated by git.  For text\r
+files this is the right thing to do: it corrects line endings\r
+such that we have only LF line endings in the repository.\r
+But for binary files that are accidentally classified as text the\r
+conversion can corrupt data.</p>\r
+<p>If you recognize such corruption early you can easily fix it by\r
+setting the conversion type explicitly in .gitattributes.  Right\r
+after committing you still have the original file in your work\r
+tree and this file is not yet corrupted.  You can explicitly tell\r
+git that this file is binary and git will handle the file\r
+appropriately.</p>\r
+<p>Unfortunately, the desired effect of cleaning up text files with\r
+mixed line endings and the undesired effect of corrupting binary\r
+files cannot be distinguished.  In both cases CRLFs are removed\r
+in an irreversible way.  For text files this is the right thing\r
+to do because CRLFs are line endings, while for binary files\r
+converting CRLFs corrupts data.</p>\r
+<p>Note, this safety check does not mean that a checkout will generate a\r
+file identical to the original file for a different setting of\r
+<tt>core.autocrlf</tt>, but only for the current one.  For example, a text\r
+file with <tt>LF</tt> would be accepted with <tt>core.autocrlf=input</tt> and could\r
+later be checked out with <tt>core.autocrlf=true</tt>, in which case the\r
+resulting file would contain <tt>CRLF</tt>, although the original file\r
+contained <tt>LF</tt>.  However, in both work trees the line endings would be\r
+consistent, that is either all <tt>LF</tt> or all <tt>CRLF</tt>, but never mixed.  A\r
+file with mixed line endings would be reported by the <tt>core.safecrlf</tt>\r
+mechanism.</p>\r
+</dd>\r
+<dt>\r
 core.symlinks\r
 </dt>\r
 <dd>\r
@@ -2220,7 +2266,7 @@ web.browser
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 12-Feb-2008 03:18:05 UTC\r
+Last updated 17-Feb-2008 03:50:04 UTC\r
 </div>\r
 </div>\r
 </body>\r
index ea4193bc233f2d125b8ce5f8c3c3c39a634b65db..f90a143fa0a3509bb57b69f46e734ae916fc9187 100644 (file)
@@ -328,53 +328,9 @@ former is internally converted into the latter.</p>
 </p>\r
 <p>The web browser can be specified using the configuration variable\r
 <em>help.browser</em>, or <em>web.browser</em> if the former is not set. If none of\r
-these config variables is set, the <em>git-help--browse</em> helper script\r
-(called by <em>git-help</em>) will pick a suitable default.</p>\r
-<p>You can explicitly provide a full path to your preferred browser by\r
-setting the configuration variable <em>browser.&lt;tool&gt;.path</em>. For example,\r
-you can configure the absolute path to firefox by setting\r
-<em>browser.firefox.path</em>. Otherwise, <em>git-help--browse</em> assumes the tool\r
-is available in PATH.</p>\r
-<p>Note that the script tries, as much as possible, to display the HTML\r
-page in a new tab on an already opened browser.</p>\r
-<p>The following browsers are currently supported by <em>git-help--browse</em>:</p>\r
-<ul>\r
-<li>\r
-<p>\r
-firefox (this is the default under X Window when not using KDE)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-iceweasel\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-konqueror (this is the default under KDE)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-w3m (this is the default outside X Window)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-links\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-lynx\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-dillo\r
-</p>\r
-</li>\r
-</ul>\r
+these config variables is set, the <em>git-web--browse</em> helper script\r
+(called by <em>git-help</em>) will pick a suitable default. See\r
+<a href="git-web--browse.html">git-web--browse(1)</a> for more information about this.</p>\r
 </dd>\r
 </dl>\r
 </div>\r
@@ -404,7 +360,7 @@ line option:</p>
 <p>The <em>help.browser</em>, <em>web.browser</em> and <em>browser.&lt;tool&gt;.path</em> will also\r
 be checked if the <em>web</em> format is chosen (either by command line\r
 option or configuration variable). See <em>-w|--web</em> in the OPTIONS\r
-section above.</p>\r
+section above and <a href="git-web--browse.html">git-web--browse(1)</a>.</p>\r
 <p>Note that these configuration variables should probably be set using\r
 the <em>--global</em> flag, for example like this:</p>\r
 <div class="listingblock">\r
@@ -432,7 +388,7 @@ little. Maintenance is done by the git-list &lt;git@vger.kernel.org&gt;.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 29-Jan-2008 09:44:48 UTC\r
+Last updated 17-Feb-2008 03:50:06 UTC\r
 </div>\r
 </div>\r
 </body>\r
index fb77ca3a57d9377e8939c6d32601cf1386f0261b..0926dc12bab23285256b8cd7906b79b7e5f5616f 100644 (file)
@@ -47,27 +47,9 @@ OPTIONS
 +
 The web browser can be specified using the configuration variable
 'help.browser', or 'web.browser' if the former is not set. If none of
-these config variables is set, the 'git-help--browse' helper script
-(called by 'git-help') will pick a suitable default.
-+
-You can explicitly provide a full path to your preferred browser by
-setting the configuration variable 'browser.<tool>.path'. For example,
-you can configure the absolute path to firefox by setting
-'browser.firefox.path'. Otherwise, 'git-help--browse' assumes the tool
-is available in PATH.
-+
-Note that the script tries, as much as possible, to display the HTML
-page in a new tab on an already opened browser.
-+
-The following browsers are currently supported by 'git-help--browse':
-+
-* firefox (this is the default under X Window when not using KDE)
-* iceweasel
-* konqueror (this is the default under KDE)
-* w3m (this is the default outside X Window)
-* links
-* lynx
-* dillo
+these config variables is set, the 'git-web--browse' helper script
+(called by 'git-help') will pick a suitable default. See
+linkgit:git-web--browse[1] for more information about this.
 
 CONFIGURATION VARIABLES
 -----------------------
@@ -84,7 +66,7 @@ line option:
 The 'help.browser', 'web.browser' and 'browser.<tool>.path' will also
 be checked if the 'web' format is chosen (either by command line
 option or configuration variable). See '-w|--web' in the OPTIONS
-section above.
+section above and linkgit:git-web--browse[1].
 
 Note that these configuration variables should probably be set using
 the '--global' flag, for example like this:
index cdcb2c08d3799426933aea021d2dda415004c94a..13d9b332442136cb7c00f0ae5463273ee4e53bcb 100644 (file)
@@ -327,9 +327,11 @@ repository.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        The web browser command-line to execute to view the gitweb page.\r
-        If blank, the URL of the gitweb instance will be printed to\r
-        stdout.  (Default: <em>firefox</em>)\r
+        The web browser that should be used to view the gitweb\r
+        page. This will be passed to the <em>git-web--browse</em> helper\r
+        script along with the URL of the gitweb instance. See\r
+        <a href="git-web--browse.html">git-web--browse(1)</a> for more information about this. If\r
+        the script fails, the URL will be printed to stdout.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -376,7 +378,8 @@ repository.</p>
 </tt></pre>\r
 </div></div>\r
 <p>If the configuration variable <em>instaweb.browser</em> is not set,\r
-<em>web.browser</em> will be used instead if it is defined.</p>\r
+<em>web.browser</em> will be used instead if it is defined. See\r
+<a href="git-web--browse.html">git-web--browse(1)</a> for more information about this.</p>\r
 </div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
@@ -392,7 +395,7 @@ repository.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:50:27 UTC\r
+Last updated 17-Feb-2008 03:50:08 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 841e8fac7fd61f8e5250c1747935156c93999394..51f1532ef7ce34786ec0dcae32b9e60b710cc9c4 100644 (file)
@@ -38,10 +38,11 @@ OPTIONS
        The port number to bind the httpd to.  (Default: 1234)
 
 -b|--browser::
-
-       The web browser command-line to execute to view the gitweb page.
-       If blank, the URL of the gitweb instance will be printed to
-       stdout.  (Default: 'firefox')
+       The web browser that should be used to view the gitweb
+       page. This will be passed to the 'git-web--browse' helper
+       script along with the URL of the gitweb instance. See
+       linkgit:git-web--browse[1] for more information about this. If
+       the script fails, the URL will be printed to stdout.
 
 --start::
        Start the httpd instance and exit.  This does not generate
@@ -72,7 +73,8 @@ You may specify configuration in your .git/config
 -----------------------------------------------------------------------
 
 If the configuration variable 'instaweb.browser' is not set,
-'web.browser' will be used instead if it is defined.
+'web.browser' will be used instead if it is defined. See
+linkgit:git-web--browse[1] for more information about this.
 
 Author
 ------
index 41a8ce6b06774eedf03c09a6c7ed8b27272f6c43..3dbe86675ce3837308d319f081571696d7d370da 100644 (file)
@@ -273,8 +273,8 @@ git-reset(1) Manual Page
 <h2>SYNOPSIS</h2>\r
 <div class="sectionbody">\r
 <div class="verseblock">\r
-<div class="content"><em>git-reset</em> [--mixed | --soft | --hard] [-q] [&lt;commit&gt;]\r
-<em>git-reset</em> [--mixed] [-q] [&lt;commit&gt;] [--] &lt;paths&gt;&#8230;</div></div>\r
+<div class="content"><em>git reset</em> [--mixed | --soft | --hard] [-q] [&lt;commit&gt;]\r
+<em>git reset</em> [-q] [&lt;commit&gt;] [--] &lt;paths&gt;&#8230;</div></div>\r
 </div>\r
 <h2>DESCRIPTION</h2>\r
 <div class="sectionbody">\r
@@ -308,7 +308,7 @@ the index from a given commit, without moving HEAD.</p>
 <p>\r
         Does not touch the index file nor the working tree at all, but\r
         requires them to be in a good order. This leaves all your changed\r
-        files "Added but not yet committed", as <a href="git-status.html">git-status(1)</a> would\r
+        files "Changes to be committed", as <a href="git-status.html">git-status(1)</a> would\r
         put it.\r
 </p>\r
 </dd>\r
@@ -559,6 +559,38 @@ At this point the index file still has all the WIP changes you
 </li>\r
 </ol>\r
 </dd>\r
+<dt>\r
+Reset a single file in the index\r
+</dt>\r
+<dd>\r
+<p>Suppose you have added a file to your index, but later decide you do not\r
+want to add it to your commit. You can remove the file from the index\r
+while keeping your changes with git reset.</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git reset -- frotz.c                      <b>(1)</b>\r
+$ git commit -m "Commit files in index"     <b>(2)</b>\r
+$ git add frotz.c                           <b>(3)</b></tt></pre>\r
+</div></div>\r
+<ol>\r
+<li>\r
+<p>\r
+This removes the file from the index while keeping it in the working\r
+    directory.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+This commits all other changes in the index.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Adds the file to the index again.\r
+</p>\r
+</li>\r
+</ol>\r
+</dd>\r
 </dl>\r
 </div>\r
 <h2>Author</h2>\r
@@ -575,7 +607,7 @@ At this point the index file still has all the WIP changes you
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:50:43 UTC\r
+Last updated 17-Feb-2008 03:50:08 UTC\r
 </div>\r
 </div>\r
 </body>\r
index a4e0a779de6a8e2de7ec9012bc66f15ca351e2aa..fac59c972659111aa2bba365c6aba94577d95702 100644 (file)
@@ -8,8 +8,8 @@ git-reset - Reset current HEAD to the specified state
 SYNOPSIS
 --------
 [verse]
-'git-reset' [--mixed | --soft | --hard] [-q] [<commit>]
-'git-reset' [--mixed] [-q] [<commit>] [--] <paths>...
+'git reset' [--mixed | --soft | --hard] [-q] [<commit>]
+'git reset' [-q] [<commit>] [--] <paths>...
 
 DESCRIPTION
 -----------
@@ -37,7 +37,7 @@ OPTIONS
 --soft::
        Does not touch the index file nor the working tree at all, but
        requires them to be in a good order. This leaves all your changed
-       files "Added but not yet committed", as linkgit:git-status[1] would
+       files "Changes to be committed", as linkgit:git-status[1] would
        put it.
 
 --hard::
@@ -176,6 +176,23 @@ $ git reset                                       <3>
     committed as 'snapshot WIP'.  This updates the index to show your
     WIP files as uncommitted.
 
+Reset a single file in the index::
++
+Suppose you have added a file to your index, but later decide you do not
+want to add it to your commit. You can remove the file from the index
+while keeping your changes with git reset.
++
+------------
+$ git reset -- frotz.c                      <1>
+$ git commit -m "Commit files in index"     <2>
+$ git add frotz.c                           <3>
+------------
++
+<1> This removes the file from the index while keeping it in the working
+    directory.
+<2> This commits all other changes in the index.
+<3> Adds the file to the index again.
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net> and Linus Torvalds <torvalds@osdl.org>
diff --git a/git-web--browse.html b/git-web--browse.html
new file mode 100644 (file)
index 0000000..902d6bc
--- /dev/null
@@ -0,0 +1,396 @@
+<!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-web--browse(1)</title>\r
+</head>\r
+<body>\r
+<div id="header">\r
+<h1>\r
+git-web--browse(1) Manual Page\r
+</h1>\r
+<h2>NAME</h2>\r
+<div class="sectionbody">\r
+<p>git-web--browse -\r
+   git helper script to launch a web browser\r
+</p>\r
+</div>\r
+</div>\r
+<h2>SYNOPSIS</h2>\r
+<div class="sectionbody">\r
+<p><em>git-web--browse</em> [OPTIONS] URL/FILE &#8230;</p>\r
+</div>\r
+<h2>DESCRIPTION</h2>\r
+<div class="sectionbody">\r
+<p>This script tries, as much as possible, to display the URLs and FILEs\r
+that are passed as arguments, as HTML pages in new tabs on an already\r
+opened web browser.</p>\r
+<p>The following browsers (or commands) are currently supported:</p>\r
+<ul>\r
+<li>\r
+<p>\r
+firefox (this is the default under X Window when not using KDE)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+iceweasel\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+konqueror (this is the default under KDE)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+w3m (this is the default outside graphical environments)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+links\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+lynx\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+dillo\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+open (this is the default under Mac OS X GUI)\r
+</p>\r
+</li>\r
+</ul>\r
+</div>\r
+<h2>OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+-b BROWSER|--browser=BROWSER\r
+</dt>\r
+<dd>\r
+<p>\r
+        Use the specified BROWSER. It must be in the list of supported\r
+        browsers.\r
+</p>\r
+</dd>\r
+<dt>\r
+-t BROWSER|--tool=BROWSER\r
+</dt>\r
+<dd>\r
+<p>\r
+        Same as above.\r
+</p>\r
+</dd>\r
+<dt>\r
+-c CONF.VAR|--config=CONF.VAR\r
+</dt>\r
+<dd>\r
+<p>\r
+        CONF.VAR is looked up in the git config files. If it's set,\r
+        then its value specify the browser that should be used.\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
+<h2>CONFIGURATION VARIABLES</h2>\r
+<div class="sectionbody">\r
+<p>The web browser can be specified using a configuration variable passed\r
+with the -c (or --config) command line option, or the <em>web.browser</em>\r
+configuration variable if the former is not used.</p>\r
+<p>You can explicitly provide a full path to your preferred browser by\r
+setting the configuration variable <em>browser.&lt;tool&gt;.path</em>. For example,\r
+you can configure the absolute path to firefox by setting\r
+<em>browser.firefox.path</em>. Otherwise, <em>git-web--browse</em> assumes the tool\r
+is available in PATH.</p>\r
+<p>Note that these configuration variables should probably be set using\r
+the <em>--global</em> flag, for example like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git config --global web.browser firefox</tt></pre>\r
+</div></div>\r
+<p>as they are probably more user specific than repository specific.\r
+See <a href="git-config.html">git-config(1)</a> for more information about this.</p>\r
+</div>\r
+<h2>Author</h2>\r
+<div class="sectionbody">\r
+<p>Written by Christian Couder &lt;chriscool@tuxfamily.org&gt; and the git-list\r
+&lt;git@vger.kernel.org&gt;, based on git-mergetool by Theodore Y. Ts'o.</p>\r
+</div>\r
+<h2>Documentation</h2>\r
+<div class="sectionbody">\r
+<p>Documentation by Christian Couder &lt;chriscool@tuxfamily.org&gt; and the\r
+git-list &lt;git@vger.kernel.org&gt;.</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 17-Feb-2008 03:50:09 UTC\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/git-web--browse.txt b/git-web--browse.txt
new file mode 100644 (file)
index 0000000..df57d01
--- /dev/null
@@ -0,0 +1,78 @@
+git-web--browse(1)
+==================
+
+NAME
+----
+git-web--browse - git helper script to launch a web browser
+
+SYNOPSIS
+--------
+'git-web--browse' [OPTIONS] URL/FILE ...
+
+DESCRIPTION
+-----------
+
+This script tries, as much as possible, to display the URLs and FILEs
+that are passed as arguments, as HTML pages in new tabs on an already
+opened web browser.
+
+The following browsers (or commands) are currently supported:
+
+* firefox (this is the default under X Window when not using KDE)
+* iceweasel
+* konqueror (this is the default under KDE)
+* w3m (this is the default outside graphical environments)
+* links
+* lynx
+* dillo
+* open (this is the default under Mac OS X GUI)
+
+OPTIONS
+-------
+-b BROWSER|--browser=BROWSER::
+       Use the specified BROWSER. It must be in the list of supported
+       browsers.
+
+-t BROWSER|--tool=BROWSER::
+       Same as above.
+
+-c CONF.VAR|--config=CONF.VAR::
+       CONF.VAR is looked up in the git config files. If it's set,
+       then its value specify the browser that should be used.
+
+CONFIGURATION VARIABLES
+-----------------------
+
+The web browser can be specified using a configuration variable passed
+with the -c (or --config) command line option, or the 'web.browser'
+configuration variable if the former is not used.
+
+You can explicitly provide a full path to your preferred browser by
+setting the configuration variable 'browser.<tool>.path'. For example,
+you can configure the absolute path to firefox by setting
+'browser.firefox.path'. Otherwise, 'git-web--browse' assumes the tool
+is available in PATH.
+
+Note that these configuration variables should probably be set using
+the '--global' flag, for example like this:
+
+------------------------------------------------
+$ git config --global web.browser firefox
+------------------------------------------------
+
+as they are probably more user specific than repository specific.
+See linkgit:git-config[1] for more information about this.
+
+Author
+------
+Written by Christian Couder <chriscool@tuxfamily.org> and the git-list
+<git@vger.kernel.org>, based on git-mergetool by Theodore Y. Ts'o.
+
+Documentation
+-------------
+Documentation by Christian Couder <chriscool@tuxfamily.org> and the
+git-list <git@vger.kernel.org>.
+
+GIT
+---
+Part of the linkgit:git[7] suite
index 57ba803870a93ab420664b7b97af0b5e2795a68e..87d8a7c84bca99fbb16f7d72053b0b1373601446 100644 (file)
@@ -412,6 +412,36 @@ in to the repository.</p>
 <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
+<p>If <tt>core.safecrlf</tt> is set to "true" or "warn", git verifies if\r
+the conversion is reversible for the current setting of\r
+<tt>core.autocrlf</tt>.  For "true", git rejects irreversible\r
+conversions; for "warn", git only prints a warning but accepts\r
+an irreversible conversion.  The safety triggers to prevent such\r
+a conversion done to the files in the work tree, but there are a\r
+few exceptions.  Even though&#8230;</p>\r
+<ul>\r
+<li>\r
+<p>\r
+"git add" itself does not touch the files in the work tree, the\r
+  next checkout would, so the safety triggers;\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+"git apply" to update a text file with a patch does touch the files\r
+  in the work tree, but the operation is about text files and CRLF\r
+  conversion is about fixing the line ending inconsistencies, so the\r
+  safety does not trigger;\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+"git diff" itself does not touch the files in the work tree, it is\r
+  often run to inspect the changes you intend to next "git add".  To\r
+  catch potential problems early, safety triggers.\r
+</p>\r
+</li>\r
+</ul>\r
 <h4><tt>ident</tt></h4>\r
 <p>When the attribute <tt>ident</tt> is set to a path, git replaces\r
 <tt>$Id$</tt> in the blob object with <tt>$Id:</tt>, followed by\r
@@ -787,7 +817,7 @@ commit hash.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:50:59 UTC\r
+Last updated 17-Feb-2008 03:50:09 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 35a29fd60c4aa70fbbd7c05ed40e4b545225c74d..84ec9623a26e2c36f7346a430a46a4a4915e0382 100644 (file)
@@ -133,6 +133,26 @@ When `core.autocrlf` is set to "input", line endings are
 converted to LF upon checkin, but there is no conversion done
 upon checkout.
 
+If `core.safecrlf` is set to "true" or "warn", git verifies if
+the conversion is reversible for the current setting of
+`core.autocrlf`.  For "true", git rejects irreversible
+conversions; for "warn", git only prints a warning but accepts
+an irreversible conversion.  The safety triggers to prevent such
+a conversion done to the files in the work tree, but there are a
+few exceptions.  Even though...
+
+- "git add" itself does not touch the files in the work tree, the
+  next checkout would, so the safety triggers;
+
+- "git apply" to update a text file with a patch does touch the files
+  in the work tree, but the operation is about text files and CRLF
+  conversion is about fixing the line ending inconsistencies, so the
+  safety does not trigger;
+
+- "git diff" itself does not touch the files in the work tree, it is
+  often run to inspect the changes you intend to next "git add".  To
+  catch potential problems early, safety triggers.
+
 
 `ident`
 ^^^^^^^
index 199f8c66a5ca11f402e2a6746914284fbc7d64fe..36f952cbcd90b001c9f21e4cb51a6d9fb81913f1 100644 (file)
@@ -343,6 +343,16 @@ An optional prefix <em>!</em> which negates the pattern; any
 </li>\r
 <li>\r
 <p>\r
+If the pattern ends with a slash, it is removed for the\r
+   purpose of the following description, but it would only find\r
+   a match with a directory.  In other words, <tt>foo/</tt> will match a\r
+   directory <tt>foo</tt> and paths underneath it, but will not match a\r
+   regular file or a symbolic link <tt>foo</tt> (this is consistent\r
+   with the way how pathspec works in general in git).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 If the pattern does not contain a slash <em>/</em>, git treats it as\r
    a shell glob pattern and checks for a match against the\r
    pathname without leading directories.\r
@@ -412,7 +422,7 @@ Frank Lichtenheld, and the git-list &lt;git@vger.kernel.org&gt;.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:51:00 UTC\r
+Last updated 17-Feb-2008 03:50:09 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 08373f52bb7e5537049b12abff3e07c02769e7b6..e847b3ba63f3fae3d5497d6ede1ea0ee416a74de 100644 (file)
@@ -57,6 +57,13 @@ Patterns have the following format:
    included again.  If a negated pattern matches, this will
    override lower precedence patterns sources.
 
+ - If the pattern ends with a slash, it is removed for the
+   purpose of the following description, but it would only find
+   a match with a directory.  In other words, `foo/` will match a
+   directory `foo` and paths underneath it, but will not match a
+   regular file or a symbolic link `foo` (this is consistent
+   with the way how pathspec works in general in git).
+
  - If the pattern does not contain a slash '/', git treats it as
    a shell glob pattern and checks for a match against the
    pathname without leading directories.
index 7a4086d987a82a02bcf916a58dd726b7362052fc..912957de678cf1867c8f72aa333d12a83fd843ae 100644 (file)
@@ -312,6 +312,29 @@ causes the <tt>git-commit</tt> to abort.</p>
 <p>The default <em>pre-commit</em> hook, when enabled, catches introduction\r
 of lines with trailing whitespaces and aborts the commit when\r
 such a line is found.</p>\r
+<p>All the <tt>git-commit</tt> hooks are invoked with the environment\r
+variable <tt>GIT_EDITOR=:</tt> if the command will not bring up an editor\r
+to modify the commit message.</p>\r
+</div>\r
+<h2>prepare-commit-msg</h2>\r
+<div class="sectionbody">\r
+<p>This hook is invoked by <tt>git-commit</tt> right after preparing the\r
+default log message, and before the editor is started.</p>\r
+<p>It takes one to three parameters.  The first is the name of the file\r
+that the commit log message.  The second is the source of the commit\r
+message, and can be: <tt>message</tt> (if a <tt>\-m</tt> or <tt>\-F</tt> option was\r
+given); <tt>template</tt> (if a <tt>\-t</tt> option was given or the\r
+configuration option <tt>commit.template</tt> is set); <tt>merge</tt> (if the\r
+commit is a merge or a <tt>.git/MERGE_MSG</tt> file exists); <tt>squash</tt>\r
+(if a <tt>.git/SQUASH_MSG</tt> file exists); or <tt>commit</tt>, followed by\r
+a commit SHA1 (if a <tt>\-c</tt>, <tt>\-C</tt> or <tt>--amend</tt> option was given).</p>\r
+<p>If the exit status is non-zero, <tt>git-commit</tt> will abort.</p>\r
+<p>The purpose of the hook is to edit the message file in place, and\r
+it is not suppressed by the <tt>--no-verify</tt> option.  A non-zero exit\r
+means a failure of the hook and aborts the commit.  It should not\r
+be used as replacement for pre-commit hook.</p>\r
+<p>The sample <tt>prepare-commit-msg</tt> hook that comes with git comments\r
+out the <tt>Conflicts:</tt> part of a merge's commit message.</p>\r
 </div>\r
 <h2>commit-msg</h2>\r
 <div class="sectionbody">\r
@@ -479,7 +502,7 @@ for the user.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jan-2008 07:51:12 UTC\r
+Last updated 17-Feb-2008 03:50:10 UTC\r
 </div>\r
 </div>\r
 </body>\r
index f110162b0155b3b17bc3133c5f42504290c1de4d..76b8d77460e961fda9a5505a4ce0cf20788de133 100644 (file)
--- a/hooks.txt
+++ b/hooks.txt
@@ -61,6 +61,35 @@ The default 'pre-commit' hook, when enabled, catches introduction
 of lines with trailing whitespaces and aborts the commit when
 such a line is found.
 
+All the `git-commit` hooks are invoked with the environment
+variable `GIT_EDITOR=:` if the command will not bring up an editor
+to modify the commit message.
+
+prepare-commit-msg
+------------------
+
+This hook is invoked by `git-commit` right after preparing the
+default log message, and before the editor is started.
+
+It takes one to three parameters.  The first is the name of the file
+that the commit log message.  The second is the source of the commit
+message, and can be: `message` (if a `\-m` or `\-F` option was
+given); `template` (if a `\-t` option was given or the
+configuration option `commit.template` is set); `merge` (if the
+commit is a merge or a `.git/MERGE_MSG` file exists); `squash`
+(if a `.git/SQUASH_MSG` file exists); or `commit`, followed by
+a commit SHA1 (if a `\-c`, `\-C` or `\--amend` option was given).
+
+If the exit status is non-zero, `git-commit` will abort.
+
+The purpose of the hook is to edit the message file in place, and
+it is not suppressed by the `\--no-verify` option.  A non-zero exit
+means a failure of the hook and aborts the commit.  It should not
+be used as replacement for pre-commit hook.
+
+The sample `prepare-commit-msg` hook that comes with git comments
+out the `Conflicts:` part of a merge's commit message.
+
 commit-msg
 ----------