cvs2darcs - import a CVS project into Darcs
cvs2darcs [OPTIONS] MODULE
cvs2darcs is a program to import a CVS module/project into a Darcs
repository, preserving all (or as much as possible) of the revision history,
including support for importing branches.
Darcs is a free advanced revision-control program, available from
www.darcs.net, that has many features lacking in CVS (such as the
ability to have independent branch repositories, arbitrary merging of
cvs2darcs checks out MODULE from the CVS repository
into a new directory (by default, into the directory MODULE) and
converts this directory into a Darcs repository. (This will take some time
for large repositories. You may want to copy your CVS repository to a local
disk to speed things up.)
Instead of MODULE, you can also specify an existing CVS
project directory. This will import the directory into a Darcs repository
(preserving the CVS information as with -p below). If the directory
was already imported into Darcs, then cvs2darcs will import any new CVS
patches into Darcs (but not vice-versa).
The most important option flags are -d CVSROOT,
which specifies the location of the CVS repository root (exactly as the
cvs -d flag); -o DIR, which specifies an
alternate output directory name; and -b BRANCH, which
specifies a CVS branch to import (default is HEAD). Other options are
The CVS repository is not modified. However, the output directory
created by cvs2darcs is not linked to the CVS repository
(technically, it has no CVS/ directories). If you want to preserve the CVS
information in the output directory, you can pass the -p flag; this
is the default if the output directory already exists as a CVS-controlled
Send bug reports to the authors: Steven G. Johnson <firstname.lastname@example.org>,
Ganesh Sittampalam <email@example.com>, and David Roundy
The cvs2darcs script was written by Steven G. Johnson as a wrapper around Perl
scripts written by David Roundy and Ganesh Sittampalam.
- -h, --help
- Display help on the command-line options and usage.
- -V, --version
- Print the version number and copyright information.
- -o DIR, --output-dir=DIR
- Use/create directory DIR as the output Darcs repository, rather
than MODULE (the default).
- -b BRANCH, --branch=BRANCH
- Import the CVS branch named BRANCH, instead of the current CVS HEAD
- -p, --preserve-cvs
- Preserve the CVS-repository information in the output directory (default
is to remove it). If the output-directory has pre-existing CVS
information, it is preserved by default.
- -d CVSROOT
- Use CVSROOT as the root directory pathname of the CVS repository,
exactly as for the cvs -d flag.
- -z GZIP-LEVEL
- Use GZIP-LEVEL as the gzip compression level in CVS, exactly as for
the cvs -z flag.
- As for the cvs -R flag: use read-only CVS repository mode,
which may improve CVS performance.
- As for the cvs -x flag (used for GSSAPI and Kerberos
Copyright (c) 2004 David Roundy
Copyright (c) 2004 Ganesh Sittampalam
Copyright (c) 2004 Steven G. Johnson