Autogenerated HTML docs for v1.4.1-g8682
authorJunio C Hamano <junio@hera.kernel.org>
Mon, 10 Jul 2006 08:12:34 +0000 (08:12 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Mon, 10 Jul 2006 08:12:34 +0000 (08:12 +0000)
config.txt
diff-options.txt
git-diff-files.html
git-diff-index.html
git-diff-stages.html
git-diff-tree.html
git-name-rev.html
git-name-rev.txt
git-repo-config.html
git-svn.html [new file with mode: 0644]
git-svn.txt [new file with mode: 0644]

index f075f19815f4505068a1ca1aed7a0e5b46025435..0b434c1f1923fb10b2420a3295e59fd9d163f39b 100644 (file)
@@ -110,10 +110,31 @@ apply.whitespace::
        Tells `git-apply` how to handle whitespaces, in the same way
        as the '--whitespace' option. See gitlink:git-apply[1].
 
+diff.color::
+       When true (or `always`), always use colors in patch.
+       When false (or `never`), never.  When set to `auto`, use
+       colors only when the output is to the terminal.
+
+diff.color.<slot>::
+       Use customized color for diff colorization.  `<slot>`
+       specifies which part of the patch to use the specified
+       color, and is one of `plain` (context text), `meta`
+       (metainformation), `frag` (hunk header), `old` (removed
+       lines), or `new` (added lines).  The value for these
+       configuration variables can be one of: `normal`, `bold`,
+       `dim`, `ul`, `blink`, `reverse`, `reset`, `black`,
+       `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, or
+       `white`.
+
 diff.renameLimit::
        The number of files to consider when performing the copy/rename
        detection; equivalent to the git diff option '-l'.
 
+diff.renames::
+       Tells git to detect renames.  If set to any boolean value, it
+       will enable basic rename detection.  If set to "copies" or
+       "copy", it will detect copies, as well.
+
 format.headers::
        Additional email headers to include in a patch to be submitted
        by mail.  See gitlink:git-format-patch[1].
index 1a936295d8944b3b52ac82aa806c007851ab0176..47ba9a403ae9379b87c54f0103297da9157237cb 100644 (file)
@@ -4,18 +4,21 @@
 -u::
        Synonym for "-p".
 
+--raw::
+       Generate the raw format.
+
 --patch-with-raw::
-       Generate patch but keep also the default raw diff output.
+       Synonym for "-p --raw".
 
 --stat::
-       Generate a diffstat instead of a patch.
+       Generate a diffstat.
 
 --summary::
        Output a condensed summary of extended header information
        such as creations, renames and mode changes.
 
 --patch-with-stat::
-       Generate patch and prepend its diffstat.
+       Synonym for "-p --stat".
 
 -z::
        \0 line termination on output
 --name-status::
        Show only names and status of changed files.
 
+--color::
+       Show colored diff.
+
+--no-color::
+       Turn off colored diff, even when the configuration file
+       gives the default to color output.
+
+--no-renames::
+       Turn off rename detection, even when the configuration
+       file gives the default to do so.
+
 --full-index::
        Instead of the first handful characters, show full
        object name of pre- and post-image blob on the "index"
-       line when generating a patch format output.     
+       line when generating a patch format output.
+
+--binary::
+       In addition to --full-index, output "binary diff" that
+       can be applied with "git apply".
 
 --abbrev[=<n>]::
        Instead of showing the full 40-byte hexadecimal object
index aa0eb8fe4003c1ace105ea4745bc72cf127375dc..0050682dee212448b412c9949b6867f31a73f432 100644 (file)
@@ -301,11 +301,19 @@ same as "git-diff-index" and "git-diff-tree".</p>
 </p>\r
 </dd>\r
 <dt>\r
+--raw\r
+</dt>\r
+<dd>\r
+<p>\r
+        Generate the raw format.\r
+</p>\r
+</dd>\r
+<dt>\r
 --patch-with-raw\r
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch but keep also the default raw diff output.\r
+        Synonym for "-p --raw".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -313,7 +321,7 @@ same as "git-diff-index" and "git-diff-tree".</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate a diffstat instead of a patch.\r
+        Generate a diffstat.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -330,7 +338,7 @@ same as "git-diff-index" and "git-diff-tree".</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch and prepend its diffstat.\r
+        Synonym for "-p --stat".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -358,6 +366,32 @@ same as "git-diff-index" and "git-diff-tree".</p>
 </p>\r
 </dd>\r
 <dt>\r
+--color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Show colored diff.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off colored diff, even when the configuration file\r
+        gives the default to color output.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-renames\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off rename detection, even when the configuration\r
+        file gives the default to do so.\r
+</p>\r
+</dd>\r
+<dt>\r
 --full-index\r
 </dt>\r
 <dd>\r
@@ -368,6 +402,15 @@ same as "git-diff-index" and "git-diff-tree".</p>
 </p>\r
 </dd>\r
 <dt>\r
+--binary\r
+</dt>\r
+<dd>\r
+<p>\r
+        In addition to --full-index, output "binary diff" that\r
+        can be applied with "git apply".\r
+</p>\r
+</dd>\r
+<dt>\r
 --abbrev[=&lt;n&gt;]\r
 </dt>\r
 <dd>\r
@@ -863,7 +906,7 @@ two unresolved merge parents with the working tree file
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Jul-2006 20:38:37 UTC\r
+Last updated 10-Jul-2006 08:12:02 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 9d8e4d77a1413216b14cc51f79b878a942c4cc50..47a3c551d61c9694d125bf307c76d5832af77665 100644 (file)
@@ -302,11 +302,19 @@ entries in the index are compared.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--raw\r
+</dt>\r
+<dd>\r
+<p>\r
+        Generate the raw format.\r
+</p>\r
+</dd>\r
+<dt>\r
 --patch-with-raw\r
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch but keep also the default raw diff output.\r
+        Synonym for "-p --raw".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -314,7 +322,7 @@ entries in the index are compared.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate a diffstat instead of a patch.\r
+        Generate a diffstat.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -331,7 +339,7 @@ entries in the index are compared.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch and prepend its diffstat.\r
+        Synonym for "-p --stat".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -359,6 +367,32 @@ entries in the index are compared.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Show colored diff.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off colored diff, even when the configuration file\r
+        gives the default to color output.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-renames\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off rename detection, even when the configuration\r
+        file gives the default to do so.\r
+</p>\r
+</dd>\r
+<dt>\r
 --full-index\r
 </dt>\r
 <dd>\r
@@ -369,6 +403,15 @@ entries in the index are compared.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--binary\r
+</dt>\r
+<dd>\r
+<p>\r
+        In addition to --full-index, output "binary diff" that\r
+        can be applied with "git apply".\r
+</p>\r
+</dd>\r
+<dt>\r
 --abbrev[=&lt;n&gt;]\r
 </dt>\r
 <dd>\r
@@ -953,7 +996,7 @@ always have the special all-zero sha1.</td>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Jul-2006 09:37:53 UTC\r
+Last updated 10-Jul-2006 08:12:03 UTC\r
 </div>\r
 </div>\r
 </body>\r
index d05021861d290fbe4d4a108e39ea0ffa5c5cd93e..f1bc07abb29e511c6aeb86eda89b41454687da1e 100644 (file)
@@ -299,11 +299,19 @@ unmerged index file.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--raw\r
+</dt>\r
+<dd>\r
+<p>\r
+        Generate the raw format.\r
+</p>\r
+</dd>\r
+<dt>\r
 --patch-with-raw\r
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch but keep also the default raw diff output.\r
+        Synonym for "-p --raw".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -311,7 +319,7 @@ unmerged index file.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate a diffstat instead of a patch.\r
+        Generate a diffstat.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -328,7 +336,7 @@ unmerged index file.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch and prepend its diffstat.\r
+        Synonym for "-p --stat".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -356,6 +364,32 @@ unmerged index file.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Show colored diff.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off colored diff, even when the configuration file\r
+        gives the default to color output.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-renames\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off rename detection, even when the configuration\r
+        file gives the default to do so.\r
+</p>\r
+</dd>\r
+<dt>\r
 --full-index\r
 </dt>\r
 <dd>\r
@@ -366,6 +400,15 @@ unmerged index file.</p>
 </p>\r
 </dd>\r
 <dt>\r
+--binary\r
+</dt>\r
+<dd>\r
+<p>\r
+        In addition to --full-index, output "binary diff" that\r
+        can be applied with "git apply".\r
+</p>\r
+</dd>\r
+<dt>\r
 --abbrev[=&lt;n&gt;]\r
 </dt>\r
 <dd>\r
@@ -837,7 +880,7 @@ two unresolved merge parents with the working tree file
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Jul-2006 09:37:54 UTC\r
+Last updated 10-Jul-2006 08:12:04 UTC\r
 </div>\r
 </div>\r
 </body>\r
index ebe55f0aa90e6a70157f79bc55ad186b3b2a9c87..cf0b9482cf54814596d0b1eac707aba0bbe62b5c 100644 (file)
@@ -304,11 +304,19 @@ git-diff-tree(1) Manual Page
 </p>\r
 </dd>\r
 <dt>\r
+--raw\r
+</dt>\r
+<dd>\r
+<p>\r
+        Generate the raw format.\r
+</p>\r
+</dd>\r
+<dt>\r
 --patch-with-raw\r
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch but keep also the default raw diff output.\r
+        Synonym for "-p --raw".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -316,7 +324,7 @@ git-diff-tree(1) Manual Page
 </dt>\r
 <dd>\r
 <p>\r
-        Generate a diffstat instead of a patch.\r
+        Generate a diffstat.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -333,7 +341,7 @@ git-diff-tree(1) Manual Page
 </dt>\r
 <dd>\r
 <p>\r
-        Generate patch and prepend its diffstat.\r
+        Synonym for "-p --stat".\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -361,6 +369,32 @@ git-diff-tree(1) Manual Page
 </p>\r
 </dd>\r
 <dt>\r
+--color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Show colored diff.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-color\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off colored diff, even when the configuration file\r
+        gives the default to color output.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-renames\r
+</dt>\r
+<dd>\r
+<p>\r
+        Turn off rename detection, even when the configuration\r
+        file gives the default to do so.\r
+</p>\r
+</dd>\r
+<dt>\r
 --full-index\r
 </dt>\r
 <dd>\r
@@ -371,6 +405,15 @@ git-diff-tree(1) Manual Page
 </p>\r
 </dd>\r
 <dt>\r
+--binary\r
+</dt>\r
+<dd>\r
+<p>\r
+        In addition to --full-index, output "binary diff" that\r
+        can be applied with "git apply".\r
+</p>\r
+</dd>\r
+<dt>\r
 --abbrev[=&lt;n&gt;]\r
 </dt>\r
 <dd>\r
@@ -1025,7 +1068,7 @@ two unresolved merge parents with the working tree file
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Jul-2006 09:37:55 UTC\r
+Last updated 10-Jul-2006 08:12:06 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 4976fb57a50e8535afb1d02b8e87499dfb262a99..4749e7ea2f0ccf8f9ed9cd6b943749094c107136 100644 (file)
@@ -303,7 +303,7 @@ format parsable by git-rev-parse.</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Read from stdin, append "(&lt;rev_name&gt;)" to all sha1's of name'able\r
+        Read from stdin, append "(&lt;rev_name&gt;)" to all sha1's of nameable\r
         commits, and pass to stdout\r
 </p>\r
 </dd>\r
@@ -342,7 +342,7 @@ not the context.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 07-Jun-2006 19:51:30 UTC\r
+Last updated 10-Jul-2006 08:12:07 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 39a1434a0e6be3c07852dc0919536bc63551a3dd..43f8c2593dcc010b97b24cc8f5ca1caada7bef3b 100644 (file)
@@ -26,7 +26,7 @@ OPTIONS
        List all commits reachable from all refs
 
 --stdin::
-       Read from stdin, append "(<rev_name>)" to all sha1's of name'able
+       Read from stdin, append "(<rev_name>)" to all sha1's of nameable
        commits, and pass to stdout
 
 EXAMPLE
index 174f68b1bca48513868fca139255b7943933ad50..9e2e5db1e4ab63c48921987e6606128e093a71a0 100644 (file)
@@ -673,6 +673,32 @@ apply.whitespace
 </p>\r
 </dd>\r
 <dt>\r
+diff.color\r
+</dt>\r
+<dd>\r
+<p>\r
+        When true (or <tt>always</tt>), always use colors in patch.\r
+        When false (or <tt>never</tt>), never.  When set to <tt>auto</tt>, use\r
+        colors only when the output is to the terminal.\r
+</p>\r
+</dd>\r
+<dt>\r
+diff.color.&lt;slot&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        Use customized color for diff colorization.  <tt>&lt;slot&gt;</tt>\r
+        specifies which part of the patch to use the specified\r
+        color, and is one of <tt>plain</tt> (context text), <tt>meta</tt>\r
+        (metainformation), <tt>frag</tt> (hunk header), <tt>old</tt> (removed\r
+        lines), or <tt>new</tt> (added lines).  The value for these\r
+        configuration variables can be one of: <tt>normal</tt>, <tt>bold</tt>,\r
+        <tt>dim</tt>, <tt>ul</tt>, <tt>blink</tt>, <tt>reverse</tt>, <tt>reset</tt>, <tt>black</tt>,\r
+        <tt>red</tt>, <tt>green</tt>, <tt>yellow</tt>, <tt>blue</tt>, <tt>magenta</tt>, <tt>cyan</tt>, or\r
+        <tt>white</tt>.\r
+</p>\r
+</dd>\r
+<dt>\r
 diff.renameLimit\r
 </dt>\r
 <dd>\r
@@ -682,6 +708,16 @@ diff.renameLimit
 </p>\r
 </dd>\r
 <dt>\r
+diff.renames\r
+</dt>\r
+<dd>\r
+<p>\r
+        Tells git to detect renames.  If set to any boolean value, it\r
+        will enable basic rename detection.  If set to "copies" or\r
+        "copy", it will detect copies, as well.\r
+</p>\r
+</dd>\r
+<dt>\r
 format.headers\r
 </dt>\r
 <dd>\r
@@ -888,7 +924,7 @@ imap
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Jul-2006 20:38:42 UTC\r
+Last updated 10-Jul-2006 08:12:08 UTC\r
 </div>\r
 </div>\r
 </body>\r
diff --git a/git-svn.html b/git-svn.html
new file mode 100644 (file)
index 0000000..2a36606
--- /dev/null
@@ -0,0 +1,729 @@
+<!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-svn(1)</title>\r
+</head>\r
+<body>\r
+<div id="header">\r
+<h1>\r
+git-svn(1) Manual Page\r
+</h1>\r
+<h2>NAME</h2>\r
+<div class="sectionbody">\r
+<p>git-svn -\r
+   bidirectional operation between a single Subversion branch and git\r
+</p>\r
+</div>\r
+</div>\r
+<h2>SYNOPSIS</h2>\r
+<div class="sectionbody">\r
+<p><em>git-svn</em> &lt;command&gt; [options] [arguments]</p>\r
+</div>\r
+<h2>DESCRIPTION</h2>\r
+<div class="sectionbody">\r
+<p>git-svn is a simple conduit for changesets between a single Subversion\r
+branch and git.</p>\r
+<p>git-svn is not to be confused with git-svnimport.  The were designed\r
+with very different goals in mind.</p>\r
+<p>git-svn is designed for an individual developer who wants a\r
+bidirectional flow of changesets between a single branch in Subversion\r
+and an arbitrary number of branches in git.  git-svnimport is designed\r
+for read-only operation on repositories that match a particular layout\r
+(albeit the recommended one by SVN developers).</p>\r
+<p>For importing svn, git-svnimport is potentially more powerful when\r
+operating on repositories organized under the recommended\r
+trunk/branch/tags structure, and should be faster, too.</p>\r
+<p>git-svn mostly ignores the very limited view of branching that\r
+Subversion has.  This allows git-svn to be much easier to use,\r
+especially on repositories that are not organized in a manner that\r
+git-svnimport is designed for.</p>\r
+</div>\r
+<h2>COMMANDS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+init\r
+</dt>\r
+<dd>\r
+<p>\r
+        Creates an empty git repository with additional metadata\r
+        directories for git-svn.  The Subversion URL must be specified\r
+        as a command-line argument.\r
+</p>\r
+</dd>\r
+<dt>\r
+fetch\r
+</dt>\r
+<dd>\r
+<p>\r
+        Fetch unfetched revisions from the Subversion URL we are\r
+        tracking.  refs/remotes/git-svn will be updated to the\r
+        latest revision.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Note: You should never attempt to modify the remotes/git-svn\r
+branch outside of git-svn.  Instead, create a branch from\r
+remotes/git-svn and work on that branch.  Use the 'commit'\r
+command (see below) to write git commits back to\r
+remotes/git-svn.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>See 'Additional Fetch Arguments' if you are interested in\r
+manually joining branches on commit.</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+commit\r
+</dt>\r
+<dd>\r
+<p>\r
+        Commit specified commit or tree objects to SVN.  This relies on\r
+        your imported fetch data being up-to-date.  This makes\r
+        absolutely no attempts to do patching when committing to SVN, it\r
+        simply overwrites files with those specified in the tree or\r
+        commit.  All merging is assumed to have taken place\r
+        independently of git-svn functions.\r
+</p>\r
+</dd>\r
+<dt>\r
+rebuild\r
+</dt>\r
+<dd>\r
+<p>\r
+        Not a part of daily usage, but this is a useful command if\r
+        you've just cloned a repository (using git-clone) that was\r
+        tracked with git-svn.  Unfortunately, git-clone does not clone\r
+        git-svn metadata and the svn working tree that git-svn uses for\r
+        its operations.  This rebuilds the metadata so git-svn can\r
+        resume fetch operations.  A Subversion URL may be optionally\r
+        specified at the command-line if the directory/repository you're\r
+        tracking has moved or changed protocols.\r
+</p>\r
+</dd>\r
+<dt>\r
+show-ignore\r
+</dt>\r
+<dd>\r
+<p>\r
+        Recursively finds and lists the svn:ignore property on\r
+        directories.  The output is suitable for appending to\r
+        the $GIT_DIR/info/exclude file.\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
+<h2>OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+-r &lt;ARG&gt;\r
+</dt>\r
+<dt>\r
+--revision &lt;ARG&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>fetch</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Takes any valid -r&lt;argument&gt; svn would accept and passes it\r
+directly to svn. -r&lt;ARG1&gt;:&lt;ARG2&gt; ranges and "{" DATE "}" syntax\r
+is also supported.  This is passed directly to svn, see svn\r
+documentation for more details.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>This can allow you to make partial mirrors when running fetch.</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+-\r
+</dt>\r
+<dt>\r
+--stdin\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>commit</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Read a list of commits from stdin and commit them in reverse\r
+order.  Only the leading sha1 is read from each line, so\r
+git-rev-list --pretty=oneline output can be used.</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+--rmdir\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>commit</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Remove directories from the SVN tree if there are no files left\r
+behind.  SVN can version empty directories, and they are not\r
+removed by default if there are no files left in them.  git\r
+cannot version empty directories.  Enabling this flag will make\r
+the commit to SVN act like git.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.rmdir</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+-e\r
+</dt>\r
+<dt>\r
+--edit\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>commit</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Edit the commit message before committing to SVN.  This is off by\r
+default for objects that are commits, and forced on when committing\r
+tree objects.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.edit</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+-l&lt;num&gt;\r
+</dt>\r
+<dt>\r
+--find-copies-harder\r
+</dt>\r
+<dd>\r
+<p>\r
+        Both of these are only used with the <em>commit</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>They are both passed directly to git-diff-tree see\r
+git-diff-tree(1) for more information.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.l\r
+repo-config key: svn.findcopiesharder</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+-A&lt;filename&gt;\r
+</dt>\r
+<dt>\r
+--authors-file=&lt;filename&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        Syntax is compatible with the files used by git-svnimport and\r
+        git-cvsimport:\r
+</p>\r
+</dd>\r
+</dl>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>loginname = Joe User &lt;user@example.com&gt;</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>If this option is specified and git-svn encounters an SVN\r
+committer name that does not exist in the authors-file, git-svn\r
+will abort operation. The user will then have to add the\r
+appropriate entry.  Re-running the previous git-svn command\r
+after the authors-file is modified should continue operation.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.authors-file</tt></pre>\r
+</div></div>\r
+</div>\r
+<h2>ADVANCED OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+-b&lt;refname&gt;\r
+</dt>\r
+<dt>\r
+--branch &lt;refname&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        Used with <em>fetch</em> or <em>commit</em>.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>This can be used to join arbitrary git branches to remotes/git-svn\r
+on new commits where the tree object is equivalent.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>When used with different GIT_SVN_ID values, tags and branches in\r
+SVN can be tracked this way, as can some merges where the heads\r
+end up having completely equivalent content.  This can even be\r
+used to track branches across multiple SVN _repositories_.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>This option may be specified multiple times, once for each\r
+branch.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.branch</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+-i&lt;GIT_SVN_ID&gt;\r
+</dt>\r
+<dt>\r
+--id &lt;GIT_SVN_ID&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        This sets GIT_SVN_ID (instead of using the environment).  See\r
+        the section on "Tracking Multiple Repositories or Branches" for\r
+        more information on using GIT_SVN_ID.\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
+<h2>COMPATIBILITY OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+--upgrade\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>rebuild</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Run this if you used an old version of git-svn that used\r
+"git-svn-HEAD" instead of "remotes/git-svn" as the branch\r
+for tracking the remote.</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+--no-ignore-externals\r
+</dt>\r
+<dd>\r
+<p>\r
+        Only used with the <em>fetch</em> and <em>rebuild</em> command.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>By default, git-svn passes --ignore-externals to svn to avoid\r
+fetching svn:external trees into git.  Pass this flag to enable\r
+externals tracking directly via git.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Versions of svn that do not support --ignore-externals are\r
+automatically detected and this flag will be automatically\r
+enabled for them.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Otherwise, do not enable this flag unless you know what you're\r
+doing.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>repo-config key: svn.noignoreexternals</tt></pre>\r
+</div></div>\r
+</dd>\r
+</dl>\r
+<h3>Basic Examples</h3>\r
+<p>Tracking and contributing to an Subversion managed-project:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt># Initialize a tree (like git init-db):\r
+        git-svn init http://svn.foo.org/project/trunk\r
+# Fetch remote revisions:\r
+        git-svn fetch\r
+# Create your own branch to hack on:\r
+        git checkout -b my-branch remotes/git-svn\r
+# Commit only the git commits you want to SVN:\r
+        git-svn commit &lt;tree-ish&gt; [&lt;tree-ish_2&gt; ...]\r
+# Commit all the git commits from my-branch that don't exist in SVN:\r
+        git-svn commit remotes/git-svn..my-branch\r
+# Something is committed to SVN, pull the latest into your branch:\r
+        git-svn fetch &amp;&amp; git pull . remotes/git-svn\r
+# Append svn:ignore settings to the default git exclude file:\r
+        git-svn show-ignore &gt;&gt; .git/info/exclude</tt></pre>\r
+</div></div>\r
+</div>\r
+<h2>DESIGN PHILOSOPHY</h2>\r
+<div class="sectionbody">\r
+<p>Merge tracking in Subversion is lacking and doing branched development\r
+with Subversion is cumbersome as a result.  git-svn completely forgoes\r
+any automated merge/branch tracking on the Subversion side and leaves it\r
+entirely up to the user on the git side.  It's simply not worth it to do\r
+a useful translation when the original signal is weak.</p>\r
+</div>\r
+<h2>TRACKING MULTIPLE REPOSITORIES OR BRANCHES</h2>\r
+<div class="sectionbody">\r
+<p>This is for advanced users, most users should ignore this section.</p>\r
+<p>Because git-svn does not care about relationships between different\r
+branches or directories in a Subversion repository, git-svn has a simple\r
+hack to allow it to track an arbitrary number of related _or_ unrelated\r
+SVN repositories via one git repository.  Simply set the GIT_SVN_ID\r
+environment variable to a name other other than "git-svn" (the default)\r
+and git-svn will ignore the contents of the $GIT_DIR/git-svn directory\r
+and instead do all of its work in $GIT_DIR/$GIT_SVN_ID for that\r
+invocation.  The interface branch will be remotes/$GIT_SVN_ID, instead of\r
+remotes/git-svn.  Any remotes/$GIT_SVN_ID branch should never be modified\r
+by the user outside of git-svn commands.</p>\r
+</div>\r
+<h2>ADDITIONAL FETCH ARGUMENTS</h2>\r
+<div class="sectionbody">\r
+<p>This is for advanced users, most users should ignore this section.</p>\r
+<p>Unfetched SVN revisions may be imported as children of existing commits\r
+by specifying additional arguments to <em>fetch</em>.  Additional parents may\r
+optionally be specified in the form of sha1 hex sums at the\r
+command-line.  Unfetched SVN revisions may also be tied to particular\r
+git commits with the following syntax:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>svn_revision_number=git_commit_sha1</tt></pre>\r
+</div></div>\r
+<dl>\r
+<dt>\r
+This allows you to tie unfetched SVN revision 375 to your current HEAD\r
+</dt>\r
+<dd>\r
+<p>\r
+        <tt>git-svn fetch 375=$(git-rev-parse HEAD)</tt>\r
+</p>\r
+</dd>\r
+</dl>\r
+<h3>Advanced Example: Tracking a Reorganized Repository</h3>\r
+<p>If you're tracking a directory that has moved, or otherwise been\r
+branched or tagged off of another directory in the repository and you\r
+care about the full history of the project, then you can read this\r
+section.</p>\r
+<p>This is how Yann Dirson tracked the trunk of the ufoai directory when\r
+the /trunk directory of his repository was moved to /ufoai/trunk and\r
+he needed to continue tracking /ufoai/trunk where /trunk left off.</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>        # This log message shows when the repository was reorganized:\r
+        r166 | ydirson | 2006-03-02 01:36:55 +0100 (Thu, 02 Mar 2006) | 1 line\r
+        Changed paths:\r
+           D /trunk\r
+           A /ufoai/trunk (from /trunk:165)\r
+\r
+        # First we start tracking the old revisions:\r
+        GIT_SVN_ID=git-oldsvn git-svn init \\r
+                        https://svn.sourceforge.net/svnroot/ufoai/trunk\r
+        GIT_SVN_ID=git-oldsvn git-svn fetch -r1:165\r
+\r
+        # And now, we continue tracking the new revisions:\r
+        GIT_SVN_ID=git-newsvn git-svn init \\r
+              https://svn.sourceforge.net/svnroot/ufoai/ufoai/trunk\r
+        GIT_SVN_ID=git-newsvn git-svn fetch \\r
+              166=`git-rev-parse refs/remotes/git-oldsvn`</tt></pre>\r
+</div></div>\r
+</div>\r
+<h2>BUGS</h2>\r
+<div class="sectionbody">\r
+<p>If somebody commits a conflicting changeset to SVN at a bad moment\r
+(right before you commit) causing a conflict and your commit to fail,\r
+your svn working tree ($GIT_DIR/git-svn/tree) may be dirtied.  The\r
+easiest thing to do is probably just to rm -rf $GIT_DIR/git-svn/tree and\r
+run <em>rebuild</em>.</p>\r
+<p>We ignore all SVN properties except svn:executable.  Too difficult to\r
+map them since we rely heavily on git write-tree being _exactly_ the\r
+same on both the SVN and git working trees and I prefer not to clutter\r
+working trees with metadata files.</p>\r
+<p>svn:keywords can't be ignored in Subversion (at least I don't know of\r
+a way to ignore them).</p>\r
+<p>Renamed and copied directories are not detected by git and hence not\r
+tracked when committing to SVN.  I do not plan on adding support for\r
+this as it's quite difficult and time-consuming to get working for all\r
+the possible corner cases (git doesn't do it, either).  Renamed and\r
+copied files are fully supported if they're similar enough for git to\r
+detect them.</p>\r
+</div>\r
+<h2>Author</h2>\r
+<div class="sectionbody">\r
+<p>Written by Eric Wong &lt;normalperson@yhbt.net&gt;.</p>\r
+</div>\r
+<h2>Documentation</h2>\r
+<div class="sectionbody">\r
+<p>Written by Eric Wong &lt;normalperson@yhbt.net&gt;.</p>\r
+</div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 10-Jul-2006 08:12:09 UTC\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/git-svn.txt b/git-svn.txt
new file mode 100644 (file)
index 0000000..7d86809
--- /dev/null
@@ -0,0 +1,319 @@
+git-svn(1)
+==========
+
+NAME
+----
+git-svn - bidirectional operation between a single Subversion branch and git
+
+SYNOPSIS
+--------
+'git-svn' <command> [options] [arguments]
+
+DESCRIPTION
+-----------
+git-svn is a simple conduit for changesets between a single Subversion
+branch and git.
+
+git-svn is not to be confused with git-svnimport.  The were designed
+with very different goals in mind.
+
+git-svn is designed for an individual developer who wants a
+bidirectional flow of changesets between a single branch in Subversion
+and an arbitrary number of branches in git.  git-svnimport is designed
+for read-only operation on repositories that match a particular layout
+(albeit the recommended one by SVN developers).
+
+For importing svn, git-svnimport is potentially more powerful when
+operating on repositories organized under the recommended
+trunk/branch/tags structure, and should be faster, too.
+
+git-svn mostly ignores the very limited view of branching that
+Subversion has.  This allows git-svn to be much easier to use,
+especially on repositories that are not organized in a manner that
+git-svnimport is designed for.
+
+COMMANDS
+--------
+init::
+       Creates an empty git repository with additional metadata
+       directories for git-svn.  The Subversion URL must be specified
+       as a command-line argument.
+
+fetch::
+       Fetch unfetched revisions from the Subversion URL we are
+       tracking.  refs/remotes/git-svn will be updated to the
+       latest revision.
+
+       Note: You should never attempt to modify the remotes/git-svn
+       branch outside of git-svn.  Instead, create a branch from
+       remotes/git-svn and work on that branch.  Use the 'commit'
+       command (see below) to write git commits back to
+       remotes/git-svn.
+
+       See 'Additional Fetch Arguments' if you are interested in
+       manually joining branches on commit.
+
+commit::
+       Commit specified commit or tree objects to SVN.  This relies on
+       your imported fetch data being up-to-date.  This makes
+       absolutely no attempts to do patching when committing to SVN, it
+       simply overwrites files with those specified in the tree or
+       commit.  All merging is assumed to have taken place
+       independently of git-svn functions.
+
+rebuild::
+       Not a part of daily usage, but this is a useful command if
+       you've just cloned a repository (using git-clone) that was
+       tracked with git-svn.  Unfortunately, git-clone does not clone
+       git-svn metadata and the svn working tree that git-svn uses for
+       its operations.  This rebuilds the metadata so git-svn can
+       resume fetch operations.  A Subversion URL may be optionally
+       specified at the command-line if the directory/repository you're
+       tracking has moved or changed protocols.
+
+show-ignore::
+       Recursively finds and lists the svn:ignore property on
+       directories.  The output is suitable for appending to
+       the $GIT_DIR/info/exclude file.
+
+OPTIONS
+-------
+-r <ARG>::
+--revision <ARG>::
+       Only used with the 'fetch' command.
+
+       Takes any valid -r<argument> svn would accept and passes it
+       directly to svn. -r<ARG1>:<ARG2> ranges and "{" DATE "}" syntax
+       is also supported.  This is passed directly to svn, see svn
+       documentation for more details.
+
+       This can allow you to make partial mirrors when running fetch.
+
+-::
+--stdin::
+       Only used with the 'commit' command.
+
+       Read a list of commits from stdin and commit them in reverse
+       order.  Only the leading sha1 is read from each line, so
+       git-rev-list --pretty=oneline output can be used.
+
+--rmdir::
+       Only used with the 'commit' command.
+
+       Remove directories from the SVN tree if there are no files left
+       behind.  SVN can version empty directories, and they are not
+       removed by default if there are no files left in them.  git
+       cannot version empty directories.  Enabling this flag will make
+       the commit to SVN act like git.
+
+       repo-config key: svn.rmdir
+
+-e::
+--edit::
+       Only used with the 'commit' command.
+
+       Edit the commit message before committing to SVN.  This is off by
+       default for objects that are commits, and forced on when committing
+       tree objects.
+
+       repo-config key: svn.edit
+
+-l<num>::
+--find-copies-harder::
+       Both of these are only used with the 'commit' command.
+
+       They are both passed directly to git-diff-tree see
+       git-diff-tree(1) for more information.
+
+       repo-config key: svn.l
+       repo-config key: svn.findcopiesharder
+
+-A<filename>::
+--authors-file=<filename>::
+
+       Syntax is compatible with the files used by git-svnimport and
+       git-cvsimport:
+
+------------------------------------------------------------------------
+loginname = Joe User <user@example.com>
+------------------------------------------------------------------------
+
+       If this option is specified and git-svn encounters an SVN
+       committer name that does not exist in the authors-file, git-svn
+       will abort operation. The user will then have to add the
+       appropriate entry.  Re-running the previous git-svn command
+       after the authors-file is modified should continue operation.
+
+       repo-config key: svn.authors-file
+
+ADVANCED OPTIONS
+----------------
+-b<refname>::
+--branch <refname>::
+       Used with 'fetch' or 'commit'.
+
+       This can be used to join arbitrary git branches to remotes/git-svn
+       on new commits where the tree object is equivalent.
+
+       When used with different GIT_SVN_ID values, tags and branches in
+       SVN can be tracked this way, as can some merges where the heads
+       end up having completely equivalent content.  This can even be
+       used to track branches across multiple SVN _repositories_.
+
+       This option may be specified multiple times, once for each
+       branch.
+
+       repo-config key: svn.branch
+
+-i<GIT_SVN_ID>::
+--id <GIT_SVN_ID>::
+       This sets GIT_SVN_ID (instead of using the environment).  See
+       the section on "Tracking Multiple Repositories or Branches" for
+       more information on using GIT_SVN_ID.
+
+COMPATIBILITY OPTIONS
+---------------------
+--upgrade::
+       Only used with the 'rebuild' command.
+
+       Run this if you used an old version of git-svn that used
+       "git-svn-HEAD" instead of "remotes/git-svn" as the branch
+       for tracking the remote.
+
+--no-ignore-externals::
+       Only used with the 'fetch' and 'rebuild' command.
+
+       By default, git-svn passes --ignore-externals to svn to avoid
+       fetching svn:external trees into git.  Pass this flag to enable
+       externals tracking directly via git.
+
+       Versions of svn that do not support --ignore-externals are
+       automatically detected and this flag will be automatically
+       enabled for them.
+
+       Otherwise, do not enable this flag unless you know what you're
+       doing.
+
+       repo-config key: svn.noignoreexternals
+
+Basic Examples
+~~~~~~~~~~~~~~
+
+Tracking and contributing to an Subversion managed-project:
+
+------------------------------------------------------------------------
+# Initialize a tree (like git init-db):
+       git-svn init http://svn.foo.org/project/trunk
+# Fetch remote revisions:
+       git-svn fetch
+# Create your own branch to hack on:
+       git checkout -b my-branch remotes/git-svn
+# Commit only the git commits you want to SVN:
+       git-svn commit <tree-ish> [<tree-ish_2> ...]
+# Commit all the git commits from my-branch that don't exist in SVN:
+       git-svn commit remotes/git-svn..my-branch
+# Something is committed to SVN, pull the latest into your branch:
+       git-svn fetch && git pull . remotes/git-svn
+# Append svn:ignore settings to the default git exclude file:
+       git-svn show-ignore >> .git/info/exclude
+------------------------------------------------------------------------
+
+DESIGN PHILOSOPHY
+-----------------
+Merge tracking in Subversion is lacking and doing branched development
+with Subversion is cumbersome as a result.  git-svn completely forgoes
+any automated merge/branch tracking on the Subversion side and leaves it
+entirely up to the user on the git side.  It's simply not worth it to do
+a useful translation when the original signal is weak.
+
+TRACKING MULTIPLE REPOSITORIES OR BRANCHES
+------------------------------------------
+This is for advanced users, most users should ignore this section.
+
+Because git-svn does not care about relationships between different
+branches or directories in a Subversion repository, git-svn has a simple
+hack to allow it to track an arbitrary number of related _or_ unrelated
+SVN repositories via one git repository.  Simply set the GIT_SVN_ID
+environment variable to a name other other than "git-svn" (the default)
+and git-svn will ignore the contents of the $GIT_DIR/git-svn directory
+and instead do all of its work in $GIT_DIR/$GIT_SVN_ID for that
+invocation.  The interface branch will be remotes/$GIT_SVN_ID, instead of
+remotes/git-svn.  Any remotes/$GIT_SVN_ID branch should never be modified
+by the user outside of git-svn commands.
+
+ADDITIONAL FETCH ARGUMENTS
+--------------------------
+This is for advanced users, most users should ignore this section.
+
+Unfetched SVN revisions may be imported as children of existing commits
+by specifying additional arguments to 'fetch'.  Additional parents may
+optionally be specified in the form of sha1 hex sums at the
+command-line.  Unfetched SVN revisions may also be tied to particular
+git commits with the following syntax:
+
+       svn_revision_number=git_commit_sha1
+
+This allows you to tie unfetched SVN revision 375 to your current HEAD::
+
+       `git-svn fetch 375=$(git-rev-parse HEAD)`
+
+Advanced Example: Tracking a Reorganized Repository
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If you're tracking a directory that has moved, or otherwise been
+branched or tagged off of another directory in the repository and you
+care about the full history of the project, then you can read this
+section.
+
+This is how Yann Dirson tracked the trunk of the ufoai directory when
+the /trunk directory of his repository was moved to /ufoai/trunk and
+he needed to continue tracking /ufoai/trunk where /trunk left off.
+
+------------------------------------------------------------------------
+       # This log message shows when the repository was reorganized:
+       r166 | ydirson | 2006-03-02 01:36:55 +0100 (Thu, 02 Mar 2006) | 1 line
+       Changed paths:
+          D /trunk
+          A /ufoai/trunk (from /trunk:165)
+
+       # First we start tracking the old revisions:
+       GIT_SVN_ID=git-oldsvn git-svn init \
+                       https://svn.sourceforge.net/svnroot/ufoai/trunk
+       GIT_SVN_ID=git-oldsvn git-svn fetch -r1:165
+
+       # And now, we continue tracking the new revisions:
+       GIT_SVN_ID=git-newsvn git-svn init \
+             https://svn.sourceforge.net/svnroot/ufoai/ufoai/trunk
+       GIT_SVN_ID=git-newsvn git-svn fetch \
+             166=`git-rev-parse refs/remotes/git-oldsvn`
+------------------------------------------------------------------------
+
+BUGS
+----
+If somebody commits a conflicting changeset to SVN at a bad moment
+(right before you commit) causing a conflict and your commit to fail,
+your svn working tree ($GIT_DIR/git-svn/tree) may be dirtied.  The
+easiest thing to do is probably just to rm -rf $GIT_DIR/git-svn/tree and
+run 'rebuild'.
+
+We ignore all SVN properties except svn:executable.  Too difficult to
+map them since we rely heavily on git write-tree being _exactly_ the
+same on both the SVN and git working trees and I prefer not to clutter
+working trees with metadata files.
+
+svn:keywords can't be ignored in Subversion (at least I don't know of
+a way to ignore them).
+
+Renamed and copied directories are not detected by git and hence not
+tracked when committing to SVN.  I do not plan on adding support for
+this as it's quite difficult and time-consuming to get working for all
+the possible corner cases (git doesn't do it, either).  Renamed and
+copied files are fully supported if they're similar enough for git to
+detect them.
+
+Author
+------
+Written by Eric Wong <normalperson@yhbt.net>.
+
+Documentation
+-------------
+Written by Eric Wong <normalperson@yhbt.net>.