CVS2SVNDUMP(1)

NAME
cvs2svndump - imports a cvs tree into a subversion repository

SYNOPSIS
cvs2svndump [-ah] [-z fuzz] [-e email_domain] [-E log_encodings] [-k rcs_keywords] [-m module] cvsroot [svnroot svnpath]

DESCRIPTION
cvs2svndump is a small python script which imports a cvs tree into a subversion repository. cvs2svndump has a small footprint and supports incremental imports. It's very fast because the conversion is done in memory.

Options:

-a  By default, the script will only use commits 10 minutes older than the most recent commit because recent commits are not stable if the repository is changing. This option will change this behavior. It will use all the commits.

-h  Show the usage.

-z fuzz
    When the script collects changesets from the CVS repository, commits by the same author, using the same log message and within fuzz seconds are collected into the same changeset. 300 (seconds) is used as default.

-e email_domain
    Append the email domain to the author field.

-E log_encodings
    Specify the character encodings used for decoding CVS logs. Multiple encodings can be specified by separating with ','. Specified encodings are used in order for decoding the log. Default is 'utf-8,iso-8859-1'

-k rcs_keywords
    Add an extra RCS keyword which are used by CVS. The script substitutes the RCS keyword by the same way as $Id$.

-m module
    Specify the target module name in the target cvsroot. The script will dump only the directory specified by this option.

cvsroot
    The target cvsroot or the sub directory of the cvsroot. The script treats this directory as the root directory.

svn_dir svn_path
    Specify the svn repository and path. Specify these for incremental import. When the script searches the last commit, it excepts the commits whose author are 'svnadmin'. Use 'svnadmin' for manually fixing.

EXAMPLES
First import:

    $ cvs2svndump -k OpenBSD /cvs/openbsd/src > openbsd.dump
    $ svnadmin create /svnrepo
    $ svn mkdir --parents -m 'mkdir /vendor/openbsd/head/src' \
        file:///svnrepo/vendor/openbsd/head/src
    $ svnadmin load --parent-dir /vendor/openbsd/head/src \
        /svnrepo < openbsd.dump

Periodic import:

    $ cvsync
    $ cvs2svndump -k OpenBSD /cvs/openbsd/src file:///svnrepo \
        vendor/openbsd/head/src > openbsd2.dump
    $ svnadmin load /svnrepo < openbsd2.dump

AUTHORS
YASUOKA Masahiko.

CAVEATS
cvs2svndump doesn't convert tags and branches.