Merge branch 'lt/logopt' into next
[gitweb.git] / Documentation / git-cvsimport.txt
index cd01994877240fdc725aab7050d0634e7a15db2e..b0c6d7c30323c775f49dc65b3895855eed0f4e19 100644 (file)
@@ -1,6 +1,5 @@
 git-cvsimport(1)
 ================
-v0.1, July 2005
 
 NAME
 ----
@@ -9,10 +8,10 @@ git-cvsimport - Import a CVS repository into git
 
 SYNOPSIS
 --------
-'git-cvsimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
-                       [ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
-                       [ -C <GIT_repository> ] [ -i ] [ -k ]
-                       [ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
+[verse]
+'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>] [-s <subst>]
+             [-p <options-for-cvsps>] [-C <git_repository>] [-i] [-P <file>]
+             [-m] [-M regex] [<CVS_module>]
 
 
 DESCRIPTION
@@ -23,6 +22,12 @@ 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
 -------
 -d <CVSROOT>::
@@ -31,12 +36,12 @@ OPTIONS
        are supported.
 
 -C <target-dir>::
-        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.
 
 -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::
@@ -51,15 +56,19 @@ OPTIONS
        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.
++
+Use '-o master' for continuing an import that was initially done by
+the old cvs2git tool.
 
 -p <options-for-cvsps>::
        Additional options for cvsps.
        The options '-u' and '-A' are implicit and should not be used here.
++
+If you need to pass multiple options, separate them with a comma.
 
-       If you need to pass multiple options, separate them with a comma.
+-P <cvsps-output-file>::
+       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
@@ -86,6 +95,29 @@ OPTIONS
 -s <subst>::
        Substitute the character "/" in branch names with <subst>
 
+-A <author-conv-file>::
+       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 <ae@op5.se>
+       spawn=Simon Pawn <spawn@frog-pond.org>
+
+---------
++
+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
+git-link[1]::git-cvsexportcommit.
+
 OUTPUT
 ------
 If '-v' is specified, the script reports what it is doing.