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].
-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
</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
</dt>\r
<dd>\r
<p>\r
- Generate a diffstat instead of a patch.\r
+ Generate a diffstat.\r
</p>\r
</dd>\r
<dt>\r
</dt>\r
<dd>\r
<p>\r
- Generate patch and prepend its diffstat.\r
+ Synonym for "-p --stat".\r
</p>\r
</dd>\r
<dt>\r
</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
</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[=<n>]\r
</dt>\r
<dd>\r
</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
</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
</dt>\r
<dd>\r
<p>\r
- Generate a diffstat instead of a patch.\r
+ Generate a diffstat.\r
</p>\r
</dd>\r
<dt>\r
</dt>\r
<dd>\r
<p>\r
- Generate patch and prepend its diffstat.\r
+ Synonym for "-p --stat".\r
</p>\r
</dd>\r
<dt>\r
</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
</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[=<n>]\r
</dt>\r
<dd>\r
</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
</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
</dt>\r
<dd>\r
<p>\r
- Generate a diffstat instead of a patch.\r
+ Generate a diffstat.\r
</p>\r
</dd>\r
<dt>\r
</dt>\r
<dd>\r
<p>\r
- Generate patch and prepend its diffstat.\r
+ Synonym for "-p --stat".\r
</p>\r
</dd>\r
<dt>\r
</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
</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[=<n>]\r
</dt>\r
<dd>\r
</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
</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
</dt>\r
<dd>\r
<p>\r
- Generate a diffstat instead of a patch.\r
+ Generate a diffstat.\r
</p>\r
</dd>\r
<dt>\r
</dt>\r
<dd>\r
<p>\r
- Generate patch and prepend its diffstat.\r
+ Synonym for "-p --stat".\r
</p>\r
</dd>\r
<dt>\r
</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
</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[=<n>]\r
</dt>\r
<dd>\r
</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
</dt>\r
<dd>\r
<p>\r
- Read from stdin, append "(<rev_name>)" to all sha1's of name'able\r
+ Read from stdin, append "(<rev_name>)" to all sha1's of nameable\r
commits, and pass to stdout\r
</p>\r
</dd>\r
</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
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
</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.<slot>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Use customized color for diff colorization. <tt><slot></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
</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
</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
--- /dev/null
+<!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> <command> [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 <ARG>\r
+</dt>\r
+<dt>\r
+--revision <ARG>\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<argument> svn would accept and passes it\r
+directly to svn. -r<ARG1>:<ARG2> 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<num>\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<filename>\r
+</dt>\r
+<dt>\r
+--authors-file=<filename>\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 <user@example.com></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<refname>\r
+</dt>\r
+<dt>\r
+--branch <refname>\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<GIT_SVN_ID>\r
+</dt>\r
+<dt>\r
+--id <GIT_SVN_ID>\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 <tree-ish> [<tree-ish_2> ...]\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 && git pull . remotes/git-svn\r
+# Append svn:ignore settings to the default git exclude file:\r
+ git-svn show-ignore >> .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 <normalperson@yhbt.net>.</p>\r
+</div>\r
+<h2>Documentation</h2>\r
+<div class="sectionbody">\r
+<p>Written by Eric Wong <normalperson@yhbt.net>.</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
--- /dev/null
+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>.