Check repository format version in enter_repo().
[gitweb.git] / Documentation / git-svnimport.txt
index be03a65f8153c2a0fbce982cb1e8595c592f308f..fcc79fa93a18444e5df42bc9e98bb18fe4b55ce5 100644 (file)
@@ -9,10 +9,11 @@ git-svnimport - Import a SVN repository into git
 
 SYNOPSIS
 --------
-'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
-                       [ -C <GIT_repository> ] [ -i ] [ -u ]
+'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ] [ -d | -D ]
+                       [ -C <GIT_repository> ] [ -i ] [ -u ] [-l limit_nr_changes]
                        [ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
-                       [ -m ] [ -M regex ] [ <SVN_repository_URL> ]
+                       [ -s start_chg ] [ -m ] [ -M regex ]
+                       <SVN_repository_URL> [ <path> ]
 
 
 DESCRIPTION
@@ -28,7 +29,7 @@ directories for branches, and "/tags/FOO" directories for tags.
 Other subdirectories are ignored.
 
 git-svnimport creates a file ".git/svn2git", which is required for
-incremental SVN imports. 
+incremental SVN imports.
 
 OPTIONS
 -------
@@ -36,42 +37,79 @@ 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 incementally, 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>::
        Name the SVN trunk. Default "trunk".
-       
+
 -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_num_changes>::
+       Limit the number of SVN changesets we pull before quitting.
+       This option is necessary because the SVN library has serious memory
+       leaks; the recommended value for nontrivial imports is 100.
+
+       git-svnimport will still exit with a zero exit code. You can check
+       the size of the file ".git/svn2git" to determine whether to call
+       the importer again.
 
 -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".
+
 <SVN_repository_URL>::
        The URL of the SVN module you want to import. For local
        repositories, use "file:///absolute/path".
 
+<path>
+       The path to the module you want to check out.
+
 -h::
        Print a short usage message and exit.