X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-svnimport.txt;h=b1b87c2fcd9b60aef6fb937bd4d28572f1cb8463;hb=3070b603ab349674fd357b1b7f9ba4698f2b86b7;hp=a27a83596c05e519ff36e65e760f6b8041852af7;hpb=25f6f325d7a8f7cb686a9ffd9fa2c00b3aa85a60;p=git.git diff --git a/Documentation/git-svnimport.txt b/Documentation/git-svnimport.txt index a27a8359..b1b87c2f 100644 --- a/Documentation/git-svnimport.txt +++ b/Documentation/git-svnimport.txt @@ -9,11 +9,13 @@ git-svnimport - Import a SVN repository into git SYNOPSIS -------- +[verse] 'git-svnimport' [ -o ] [ -h ] [ -v ] [ -d | -D ] - [ -C ] [ -i ] [ -u ] [-l limit_nr_changes] - [ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ] - [ -s start_chg ] [ -m ] [ -M regex ] - [ ] + [ -C ] [ -i ] [ -u ] [-l limit_rev] + [ -b branch_subdir ] [ -T trunk_subdir ] [ -t tag_subdir ] + [ -s start_chg ] [ -m ] [ -r ] [ -M regex ] + [ -I ] [ -A ] + [ ] DESCRIPTION @@ -21,7 +23,7 @@ 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" @@ -29,7 +31,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 ------- @@ -40,45 +42,70 @@ OPTIONS -s :: Start importing at this SVN change number. The default is 1. + -When importing incementally, you might need to edit the .git/svn2git file. +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 :: +-T :: Name the SVN trunk. Default "trunk". - --T :: + +-t :: Name the SVN subdirectory for tags. Default "tags". - + -b :: Name the SVN subdirectory for branches. Default "branches". - + -o :: 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:: +-r:: + Prepend 'rX: ' to commit messages, where X is the imported + subversion revision. + +-I :: + 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.) + +-A :: + Read a file with lines on the form ++ +------ + username = User's Full Name + +------ ++ +and use "User's Full Name " 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. ++ +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. + +-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 :: 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 :: - 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. +-l :: + Specify a maximum revision number to pull. - 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. + 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. @@ -103,11 +130,7 @@ with a 40x error pretty quickly. If you're using the "-d" or "-D" option, this is the URL of the SVN repository itself; it usually ends in "/svn". -:: - The URL of the SVN module you want to import. For local - repositories, use "file:///absolute/path". - - +:: The path to the module you want to check out. -h::