Open Design and Integration Environment

Artifact Content
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com or submit via the online form
by Aug 20.

Artifact 798120516f681aa75d6b70ec5929cf1da54c98db:

Wiki page [Converting CVS to Fossil] by hypnotoad 2013-12-08 11:51:23.
D 2013-12-08T11:51:23.553
L Converting\sCVS\sto\sFossil
P a616a1545491a84191ca79de23054ac01ca1d2e3
U hypnotoad
W 1738
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 href="http://vincew.net/content/import-cvs-repository-fossil">Here</a>. 
<p>
The script used is as follows:
<verbatim>
#!/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
</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 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: 
</verbatim>
<p>
If I ls the directory:
<p>
<verbatim>
ls
cvs2fossil.sh
tclvfs.fossil
tclvfs/
</verbatim>

Z a1dbcf3d9e9b79a73c3f094b61528d7a