X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-svnimport.txt;h=9d3865719c37b9cef435b6a5b77afe3ff9aa7b40;hb=fe041ad68d02d3c117c68f9bd3d37cd80208f31d;hp=a144c6c31ca9131b00be1585a785ede53f87a731;hpb=7ee74a99b2b710b5f5adc22db2fe0aca8a74c809;p=git.git diff --git a/Documentation/git-svnimport.txt b/Documentation/git-svnimport.txt index a144c6c3..9d386571 100644 --- a/Documentation/git-svnimport.txt +++ b/Documentation/git-svnimport.txt @@ -9,10 +9,13 @@ git-svnimport - Import a SVN repository into git SYNOPSIS -------- -'git-svnimport' [ -o ] [ -h ] [ -v ] - [ -C ] [ -i ] [ -u ] - [ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ] - [ -s start_chg ] [ -m ] [ -M regex ] [ ] +[verse] +'git-svnimport' [ -o ] [ -h ] [ -v ] [ -d | -D ] + [ -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 @@ -20,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" @@ -28,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 ------- @@ -39,43 +42,93 @@ 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 :: + 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 "" 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 "" 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. + :: 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". + +:: + The path to the module you want to check out. -h:: Print a short usage message and exit.