index be03a65f8153c2a0fbce982cb1e8595c592f308f..63e28b89d5dde9fbaab363b603801e56342e5965 100644 (file)
SYNOPSIS
--------
-'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
- [ -C <GIT_repository> ] [ -i ] [ -u ]
- [ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
- [ -m ] [ -M regex ] [ <SVN_repository_URL> ]
+'git-svnimport' [ -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 ] [ -M regex ]
+ <SVN_repository_URL> [ <path> ]
DESCRIPTION
Imports a SVN repository into git. It will either create a new
repository, or incrementally import into an existing one.
-SVN access is done by the SVN:: Perl module.
+SVN access is done by the SVN::Perl module.
git-svnimport assumes that SVN repositories are organized into one
"trunk" directory where the main development happens, "branch/FOO"
Other subdirectories are ignored.
git-svnimport creates a file ".git/svn2git", which is required for
-incremental SVN imports.
+incremental SVN imports.
OPTIONS
-------
The GIT repository to import to. If the directory doesn't
exist, it will be created. Default is the current directory.
+-s <start_rev>::
+ Start importing at this SVN change number. The default is 1.
++
+When importing incrementally, you might need to edit the .git/svn2git file.
+
-i::
Import-only: don't perform a checkout after importing. This option
- ensures the working directory and cache remain untouched and will
+ ensures the working directory and index remain untouched and will
not create them if they do not exist.
--t <trunk_subdir>::
+-T <trunk_subdir>::
Name the SVN trunk. Default "trunk".
-
--T <tag_subdir>::
+
+-t <tag_subdir>::
Name the SVN subdirectory for tags. Default "tags".
-
+
-b <branch_subdir>::
Name the SVN subdirectory for branches. Default "branches".
-
+
-o <branch-for-HEAD>::
The 'trunk' branch from SVN is imported to the 'origin' branch within
the git repository. Use this option if you want to import into a
different branch.
--m::
+-m::
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.
+ will enable default regexes that try to capture the name source
+ branch name from the commit message.
-M <regex>::
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.
+ regex. It can be used with -m to also see the default regexes.
+ You must escape forward slashes.
+
+-l <max_rev>::
+ Specify a maximum revision number to pull.
+
+ Formerly, this option controlled how many revisions to pull,
+ due to SVN memory leaks. (These have been worked around.)
-v::
Verbosity: let 'svnimport' report what it is doing.
+-d::
+ 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.
+
+-D::
+ Use direct HTTP requests if possible. The "<path>" argument is used
+ for retrieving the logs, as well as for the contents.
++
+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.
+
<SVN_repository_URL>::
The URL of the SVN module you want to import. For local
repositories, use "file:///absolute/path".
++
+If you're using the "-d" or "-D" option, this is the URL of the SVN
+repository itself; it usually ends in "/svn".
+
+<path>::
+ The path to the module you want to check out.
-h::
Print a short usage message and exit.