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 <a
<p>
The script used is as follows:
<verbatim>


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
</verbatim>
<p>
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.
<p>
Example:
<verbatim>
sh cvs2fossilnew tls tls
* Prompts for CVS Password*
<i>Lots of activity</i>
Done!.
contact-info: Sean Woods
password:
Retype new password:
</verbatim>
<p>
If I ls the directory:
<p>
<verbatim>
ls
cvs2fossil.sh
tclvfs.fossil
tclvfs/
</verbatim>