Other Features
**************

CVS to Pastwatch Conversion
===========================

Pastwatch can translate an existing CVS repository and import it into a new Pastwatch project with the cvs2past command.

Required Perl Modules
---------------------

cvs2past uses the Date::Calc Perl module.  If you run cvs2past and it outputs an error message like this:

          % cvs2past
          Can't locate Date/Calc.pm in (contains:
          /usr/local/lib/perl5/site_perl/5.8.5/mach
          /usr/local/lib/perl5/site_perl/5.8.5
          /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl
          /usr/local/lib/perl5/5.8.5/BSDPAN /usr/local/lib/perl5/5.8.5/mach
          /usr/local/lib/perl5/5.8.5 .) at /usr/local/bin/cvs2past line 16.  BEGIN
          failed--compilation aborted at /usr/local/bin/cvs2past line 16.

then you will need to install Date::Calc.  To install Date::Calc run the following commands on your system as root, and answer the configuration questions Perl asks.

          perl -MCPAN -e 'install Date::Calc'

Afterwards, Date::Calc should be installed on your system.  Now, running cvs2past should result in usage information.

: % cvs2past cvs2past.pl cvsroot cvsmodule pastmodule projname username

Using cvs2past
--------------

cvs2past reads a module from an existing CVS repository and creates a new Pastwatch project that contains all the files, commits and branches from the CVS module.

During translation, cvs2past creates a new Pastwatch project, and a new project member key.  The full syntax for cvs2past is:

          cvs2past <cvsroot> <cvsmodule> <pastmodule> <projname> <username>

  * <cvsroot> The location of the CVS repository.  For example, it might equal /home/cvsroot or yipal.mit.edu:/home/cvsrepository.

  * <cvsmodule> This is the CVS module that will be converted.

  * <pastmodule> This is the name of the resulting module.

  * <projectname> This is the name of the resulting Pastwatch project.

  * <username> cvs2past will create a user named username and its private key to commit the repository data.

cvs2past outputs a lot of messages during translation.  It is safe to ignore these messages unless cvs2past fails during translation.