The procedure for migrating from CVS to Fossil requires an intermediary step through GIT. The process used by ODIE was originally described by Vince West Here.
The script used is as follows:
#!/bin/bash die(){ echo $1 exit 1 } # parameters: # 1 - username of admin # 2 - cvs repository to convert # 3 - module in cvs to convert # 4 - name of fossil repo (no extension) # note: the repository will be created right here! if [ "$4" == "" ] then echo "Syntax:" echo " cvs2fossil username cvsroot module fossil-repo-name" die "Please make sure you have all three parameters set!" fi echo "Importing from CVS to git. This will take some time, be patient!" mkdir $4 cd $4 cvs -d $2 login git cvsimport -v -d $2 $3 || die "Unable to import to git" echo "Importing from git to fossil. This will also take some time, sadly" ( git fast-export --full-tree --all | fossil import --git ../$4.fossil || die "Unable to import into fossil" ) echo "Done!." fossil user new $1 -R ../$4.fossil fossil user capabilities $1 'v' -R ../$4.fossil
In the end you well have a directory with the name of argument4 (containing the git repository) and a file called argument4.fossil with the new fossil repository.
Example:
sh cvs2fossilnew hypnotoad :pserver:anonymous@tls.cvs.sourceforge.net:/cvsroot/tls tls tls * Prompts for CVS Password* <i>Lots of activity</i> Done!. contact-info: Sean Woods password: Retype new password:
If I ls the directory:
ls cvs2fossil.sh tclvfs.fossil tclvfs/