X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-cvsimport.txt;h=e0be8565468c0b278147abc3e83eb7d19f481a40;hb=3545193735522f733fdb4e345f16ddf131e2007a;hp=b5753a46dc4bdf8fc426acd32f3add9f95887a50;hpb=df8baa42fe4eeb5a021ac262caf601f44d2a5746;p=git.git diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt index b5753a46d..e0be85654 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.txt @@ -1,18 +1,19 @@ git-cvsimport(1) ================ -v0.1, July 2005 NAME ---- -git-cvsimport - Import a CVS repository into git +git-cvsimport - Salvage your data out of another SCM people love to hate SYNOPSIS -------- -'git-cvsimport' [ -o ] [ -h ] [ -v ] - [ -d ] [ -p ] - [ -C ] [ -i ] [ -k ] - [ -s ] [ -m ] [ -M regex ] [ ] +[verse] +'git-cvsimport' [-o ] [-h] [-v] [-d ] + [-A ] [-p ] [-P ] + [-C ] [-z ] [-i] [-k] [-u] [-s ] + [-a] [-m] [-M ] [-S ] [-L ] + [] DESCRIPTION @@ -23,37 +24,56 @@ repository, or incrementally import into an existing one. Splitting the CVS log into patch sets is done by 'cvsps'. At least version 2.1 is required. +You should *never* do any work of your own on the branches that are +created by git-cvsimport. The initial import will create and populate a +"master" branch from the CVS repository's main branch which you're free +to work with; after that, you need to 'git merge' incremental imports, or +any CVS branches, yourself. + OPTIONS ------- +-v:: + Verbosity: let 'cvsimport' report what it is doing. + -d :: The root of the CVS archive. May be local (a simple path) or remote; currently, only the :local:, :ext: and :pserver: access methods - are supported. + are supported. If not given, git-cvsimport will try to read it + from `CVS/Root`. If no such file exists, it checks for the + `CVSROOT` environment variable. + +:: + The CVS module you want to import. Relative to . + If not given, git-cvsimport tries to read it from + `CVS/Repository`. -C :: - The GIT repository to import to. If the directory doesn't + The git repository to import to. If the directory doesn't exist, it will be created. Default is the current directory. +-o :: + The 'HEAD' branch from CVS is imported to the 'origin' branch within + the git repository, as 'HEAD' already has a special meaning for git. + Use this option if you want to import into a different branch. ++ +Use '-o master' for continuing an import that was initially done by +the old cvs2git tool. + -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. -k:: - Kill keywords: will extract files with -kk from the CVS archive + Kill keywords: will extract files with '-kk' from the CVS archive to avoid noisy changesets. Highly recommended, but off by default to preserve compatibility with early imported trees. -u:: Convert underscores in tag and branch names to dots. --o :: - The 'HEAD' branch from CVS is imported to the 'origin' branch within - the git repository, as 'HEAD' already has a special meaning for git. - Use this option if you want to import into a different branch. -+ -Use '-o master' for continuing an import that was initially done by -the old cvs2git tool. +-s :: + Substitute the character "/" in branch names with -p :: Additional options for cvsps. @@ -61,6 +81,14 @@ the old cvs2git tool. + If you need to pass multiple options, separate them with a comma. +-z :: + Pass the timestamp fuzz factor to cvsps, in seconds. If unset, + cvsps defaults to 300s. + +-P :: + Instead of calling cvsps, read the provided cvsps output file. Useful + for debugging or when cvsps is being handled outside cvsimport. + -m:: Attempt to detect merges based on the commit message. This option will enable default regexes that try to capture the name source @@ -68,23 +96,45 @@ If you need to pass multiple options, separate them with a comma. -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. + regex. It can be used with '-m' to also see the default regexes. You must escape forward slashes. --v:: - Verbosity: let 'cvsimport' report what it is doing. +-S :: + Skip paths matching the regex. -:: - The CVS module you want to import. Relative to . +-a:: + Import all commits, including recent ones. cvsimport by default + skips commits that have a timestamp less than 10 minutes ago. --h:: - Print a short usage message and exit. +-L :: + Limit the number of commits imported. Workaround for cases where + cvsimport leaks memory. --z :: - Pass the timestamp fuzz factor to cvsps. +-A :: + CVS by default uses the Unix username when writing its + commit logs. Using this option and an author-conv-file + in this format ++ +--------- + exon=Andreas Ericsson + spawn=Simon Pawn --s :: - Substitute the character "/" in branch names with +--------- ++ +git-cvsimport will make it appear as those authors had +their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly +all along. ++ +For convenience, this data is saved to `$GIT_DIR/cvs-authors` +each time the '-A' option is provided and read from that same +file each time git-cvsimport is run. ++ +It is not recommended to use this feature if you intend to +export changes back to CVS again later with +gitlink:git-cvsexportcommit[1]. + +-h:: + Print a short usage message and exit. OUTPUT ------