<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
<meta name="generator" content="AsciiDoc 7.0.2" /> | |
<style type="text/css"> | |
/* Debug borders */ | |
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { | |
/* | |
border: 1px solid red; | |
*/ | |
} | |
body { | |
margin: 1em 5% 1em 5%; | |
} | |
a { color: blue; } | |
a:visited { color: fuchsia; } | |
em { | |
font-style: italic; | |
} | |
strong { | |
font-weight: bold; | |
} | |
tt { | |
color: navy; | |
} | |
h1, h2, h3, h4, h5, h6 { | |
color: #527bbd; | |
font-family: sans-serif; | |
margin-top: 1.2em; | |
margin-bottom: 0.5em; | |
line-height: 1.3; | |
} | |
h1 { | |
border-bottom: 2px solid silver; | |
} | |
h2 { | |
border-bottom: 2px solid silver; | |
padding-top: 0.5em; | |
} | |
div.sectionbody { | |
font-family: serif; | |
margin-left: 0; | |
} | |
hr { | |
border: 1px solid silver; | |
} | |
p { | |
margin-top: 0.5em; | |
margin-bottom: 0.5em; | |
} | |
pre { | |
padding: 0; | |
margin: 0; | |
} | |
span#author { | |
color: #527bbd; | |
font-family: sans-serif; | |
font-weight: bold; | |
font-size: 1.2em; | |
} | |
span#email { | |
} | |
span#revision { | |
font-family: sans-serif; | |
} | |
div#footer { | |
font-family: sans-serif; | |
font-size: small; | |
border-top: 2px solid silver; | |
padding-top: 0.5em; | |
margin-top: 4.0em; | |
} | |
div#footer-text { | |
float: left; | |
padding-bottom: 0.5em; | |
} | |
div#footer-badges { | |
float: right; | |
padding-bottom: 0.5em; | |
} | |
div#preamble, | |
div.tableblock, div.imageblock, div.exampleblock, div.verseblock, | |
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, | |
div.admonitionblock { | |
margin-right: 10%; | |
margin-top: 1.5em; | |
margin-bottom: 1.5em; | |
} | |
div.admonitionblock { | |
margin-top: 2.5em; | |
margin-bottom: 2.5em; | |
} | |
div.content { /* Block element content. */ | |
padding: 0; | |
} | |
/* Block element titles. */ | |
div.title, caption.title { | |
font-family: sans-serif; | |
font-weight: bold; | |
text-align: left; | |
margin-top: 1.0em; | |
margin-bottom: 0.5em; | |
} | |
div.title + * { | |
margin-top: 0; | |
} | |
td div.title:first-child { | |
margin-top: 0.0em; | |
} | |
div.content div.title:first-child { | |
margin-top: 0.0em; | |
} | |
div.content + div.title { | |
margin-top: 0.0em; | |
} | |
div.sidebarblock > div.content { | |
background: #ffffee; | |
border: 1px solid silver; | |
padding: 0.5em; | |
} | |
div.listingblock > div.content { | |
border: 1px solid silver; | |
background: #f4f4f4; | |
padding: 0.5em; | |
} | |
div.quoteblock > div.content { | |
padding-left: 2.0em; | |
} | |
div.quoteblock .attribution { | |
text-align: right; | |
} | |
div.admonitionblock .icon { | |
vertical-align: top; | |
font-size: 1.1em; | |
font-weight: bold; | |
text-decoration: underline; | |
color: #527bbd; | |
padding-right: 0.5em; | |
} | |
div.admonitionblock td.content { | |
padding-left: 0.5em; | |
border-left: 2px solid silver; | |
} | |
div.exampleblock > div.content { | |
border-left: 2px solid silver; | |
padding: 0.5em; | |
} | |
div.verseblock div.content { | |
white-space: pre; | |
} | |
div.imageblock div.content { padding-left: 0; } | |
div.imageblock img { border: 1px solid silver; } | |
span.image img { border-style: none; } | |
dl { | |
margin-top: 0.8em; | |
margin-bottom: 0.8em; | |
} | |
dt { | |
margin-top: 0.5em; | |
margin-bottom: 0; | |
font-style: italic; | |
} | |
dd > *:first-child { | |
margin-top: 0; | |
} | |
ul, ol { | |
list-style-position: outside; | |
} | |
ol.olist2 { | |
list-style-type: lower-alpha; | |
} | |
div.tableblock > table { | |
border-color: #527bbd; | |
border-width: 3px; | |
} | |
thead { | |
font-family: sans-serif; | |
font-weight: bold; | |
} | |
tfoot { | |
font-weight: bold; | |
} | |
div.hlist { | |
margin-top: 0.8em; | |
margin-bottom: 0.8em; | |
} | |
td.hlist1 { | |
vertical-align: top; | |
font-style: italic; | |
padding-right: 0.8em; | |
} | |
td.hlist2 { | |
vertical-align: top; | |
} | |
@media print { | |
div#footer-badges { display: none; } | |
} | |
include::./stylesheets/xhtml11-manpage.css[] | |
/* Workarounds for IE6's broken and incomplete CSS2. */ | |
div.sidebar-content { | |
background: #ffffee; | |
border: 1px solid silver; | |
padding: 0.5em; | |
} | |
div.sidebar-title, div.image-title { | |
font-family: sans-serif; | |
font-weight: bold; | |
margin-top: 0.0em; | |
margin-bottom: 0.5em; | |
} | |
div.listingblock div.content { | |
border: 1px solid silver; | |
background: #f4f4f4; | |
padding: 0.5em; | |
} | |
div.quoteblock-content { | |
padding-left: 2.0em; | |
} | |
div.exampleblock-content { | |
border-left: 2px solid silver; | |
padding-left: 0.5em; | |
} | |
</style> | |
<title>git-svnimport(1)</title> | |
</head> | |
<body> | |
<div id="header"> | |
<h1> | |
git-svnimport(1) Manual Page | |
</h1> | |
<h2>NAME</h2> | |
<div class="sectionbody"> | |
<p>git-svnimport - | |
Import a SVN repository into git | |
</p> | |
</div> | |
</div> | |
<h2>SYNOPSIS</h2> | |
<div class="sectionbody"> | |
<div class="verseblock"> | |
<div class="content"><em>git-svnimport</em> [ -o <branch-for-HEAD> ] [ -h ] [ -v ] [ -d | -D ] | |
[ -C <GIT_repository> ] [ -i ] [ -u ] [-l limit_rev] | |
[ -b branch_subdir ] [ -T trunk_subdir ] [ -t tag_subdir ] | |
[ -s start_chg ] [ -m ] [ -r ] [ -M regex ] | |
[ -I <ignorefile_name> ] [ -A <author_file> ] | |
[ -R <repack_each_revs>] [ -P <path_from_trunk> ] | |
<SVN_repository_URL> [ <path> ]</div></div> | |
</div> | |
<h2>DESCRIPTION</h2> | |
<div class="sectionbody"> | |
<p>Imports a SVN repository into git. It will either create a new | |
repository, or incrementally import into an existing one.</p> | |
<p>SVN access is done by the SVN::Perl module.</p> | |
<p>git-svnimport assumes that SVN repositories are organized into one | |
"trunk" directory where the main development happens, "branch/FOO" | |
directories for branches, and "/tags/FOO" directories for tags. | |
Other subdirectories are ignored.</p> | |
<p>git-svnimport creates a file ".git/svn2git", which is required for | |
incremental SVN imports.</p> | |
</div> | |
<h2>OPTIONS</h2> | |
<div class="sectionbody"> | |
<dl> | |
<dt> | |
-C <target-dir> | |
</dt> | |
<dd> | |
<p> | |
The GIT repository to import to. If the directory doesn't | |
exist, it will be created. Default is the current directory. | |
</p> | |
</dd> | |
<dt> | |
-s <start_rev> | |
</dt> | |
<dd> | |
<p> | |
Start importing at this SVN change number. The default is 1. | |
</p> | |
<p>When importing incrementally, you might need to edit the .git/svn2git file.</p> | |
</dd> | |
<dt> | |
-i | |
</dt> | |
<dd> | |
<p> | |
Import-only: don't perform a checkout after importing. This option | |
ensures the working directory and index remain untouched and will | |
not create them if they do not exist. | |
</p> | |
</dd> | |
<dt> | |
-T <trunk_subdir> | |
</dt> | |
<dd> | |
<p> | |
Name the SVN trunk. Default "trunk". | |
</p> | |
</dd> | |
<dt> | |
-t <tag_subdir> | |
</dt> | |
<dd> | |
<p> | |
Name the SVN subdirectory for tags. Default "tags". | |
</p> | |
</dd> | |
<dt> | |
-b <branch_subdir> | |
</dt> | |
<dd> | |
<p> | |
Name the SVN subdirectory for branches. Default "branches". | |
</p> | |
</dd> | |
<dt> | |
-o <branch-for-HEAD> | |
</dt> | |
<dd> | |
<p> | |
The <em>trunk</em> branch from SVN is imported to the <em>origin</em> branch within | |
the git repository. Use this option if you want to import into a | |
different branch. | |
</p> | |
</dd> | |
<dt> | |
-r | |
</dt> | |
<dd> | |
<p> | |
Prepend <em>rX: </em> to commit messages, where X is the imported | |
subversion revision. | |
</p> | |
</dd> | |
<dt> | |
-I <ignorefile_name> | |
</dt> | |
<dd> | |
<p> | |
Import the svn:ignore directory property to files with this | |
name in each directory. (The Subversion and GIT ignore | |
syntaxes are similar enough that using the Subversion patterns | |
directly with "-I .gitignore" will almost always just work.) | |
</p> | |
</dd> | |
<dt> | |
-A <author_file> | |
</dt> | |
<dd> | |
<p> | |
Read a file with lines on the form | |
</p> | |
<div class="listingblock"> | |
<div class="content"> | |
<pre><tt> username = User's Full Name <email@addr.es> | |
</tt></pre> | |
</div></div> | |
<p>and use "User's Full Name <email@addr.es>" as the GIT | |
author and committer for Subversion commits made by | |
"username". If encountering a commit made by a user not in the | |
list, abort.</p> | |
<p>For convenience, this data is saved to $GIT_DIR/svn-authors | |
each time the -A option is provided, and read from that same | |
file each time git-svnimport is run with an existing GIT | |
repository without -A.</p> | |
</dd> | |
<dt> | |
-m | |
</dt> | |
<dd> | |
<p> | |
Attempt to detect merges based on the commit message. This option | |
will enable default regexes that try to capture the name source | |
branch name from the commit message. | |
</p> | |
</dd> | |
<dt> | |
-M <regex> | |
</dt> | |
<dd> | |
<p> | |
Attempt to detect merges based on the commit message with a custom | |
regex. It can be used with -m to also see the default regexes. | |
You must escape forward slashes. | |
</p> | |
</dd> | |
<dt> | |
-l <max_rev> | |
</dt> | |
<dd> | |
<p> | |
Specify a maximum revision number to pull. | |
</p> | |
<p>Formerly, this option controlled how many revisions to pull, | |
due to SVN memory leaks. (These have been worked around.)</p> | |
</dd> | |
<dt> | |
-R <repack_each_revs> | |
</dt> | |
<dd> | |
<p> | |
Specify how often git repository should be repacked. | |
</p> | |
<p>The default value is 1000. git-svnimport will do import in chunks of 1000 | |
revisions, after each chunk git repository will be repacked. To disable | |
this behavior specify some big value here which is mote than number of | |
revisions to import.</p> | |
</dd> | |
<dt> | |
-P <path_from_trunk> | |
</dt> | |
<dd> | |
<p> | |
Partial import of the SVN tree. | |
</p> | |
<p>By default, the whole tree on the SVN trunk (/trunk) is imported. | |
<em>-P my/proj</em> will import starting only from <em>/trunk/my/proj</em>. | |
This option is useful when you want to import one project from a | |
svn repo which hosts multiple projects under the same trunk.</p> | |
</dd> | |
<dt> | |
-v | |
</dt> | |
<dd> | |
<p> | |
Verbosity: let <em>svnimport</em> report what it is doing. | |
</p> | |
</dd> | |
<dt> | |
-d | |
</dt> | |
<dd> | |
<p> | |
Use direct HTTP requests if possible. The "<path>" argument is used | |
only for retrieving the SVN logs; the path to the contents is | |
included in the SVN log. | |
</p> | |
</dd> | |
<dt> | |
-D | |
</dt> | |
<dd> | |
<p> | |
Use direct HTTP requests if possible. The "<path>" argument is used | |
for retrieving the logs, as well as for the contents. | |
</p> | |
<p>There's no safe way to automatically find out which of these options to | |
use, so you need to try both. Usually, the one that's wrong will die | |
with a 40x error pretty quickly.</p> | |
</dd> | |
<dt> | |
<SVN_repository_URL> | |
</dt> | |
<dd> | |
<p> | |
The URL of the SVN module you want to import. For local | |
repositories, use "file:///absolute/path". | |
</p> | |
<p>If you're using the "-d" or "-D" option, this is the URL of the SVN | |
repository itself; it usually ends in "/svn".</p> | |
</dd> | |
<dt> | |
<path> | |
</dt> | |
<dd> | |
<p> | |
The path to the module you want to check out. | |
</p> | |
</dd> | |
<dt> | |
-h | |
</dt> | |
<dd> | |
<p> | |
Print a short usage message and exit. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>OUTPUT</h2> | |
<div class="sectionbody"> | |
<p>If <em>-v</em> is specified, the script reports what it is doing.</p> | |
<p>Otherwise, success is indicated the Unix way, i.e. by simply exiting with | |
a zero exit status.</p> | |
</div> | |
<h2>Author</h2> | |
<div class="sectionbody"> | |
<p>Written by Matthias Urlichs <smurf@smurf.noris.de>, with help from | |
various participants of the git-list <git@vger.kernel.org>.</p> | |
<p>Based on a cvs2git script by the same author.</p> | |
</div> | |
<h2>Documentation</h2> | |
<div class="sectionbody"> | |
<p>Documentation by Matthias Urlichs <smurf@smurf.noris.de>.</p> | |
</div> | |
<h2>GIT</h2> | |
<div class="sectionbody"> | |
<p>Part of the <a href="git.html">git(7)</a> suite</p> | |
</div> | |
<div id="footer"> | |
<div id="footer-text"> | |
Last updated 07-Jan-2007 07:43:49 UTC | |
</div> | |
</div> | |
</body> | |
</html> |