Migrating a CVS Repository to Git
by Andrew Kroh
So you want to take those old CVS repositories and migrate them to Git?
You can use cvs2git to migrate your CVS repository with history to Git. It requires direct filesystem access the CVS repository that you wish to convert.
Fist download cvs2git, compile, and install.
svn co --username=guest --password="" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
cd cvs2svn-trunk
make install
Now you are ready to convert a repository's history into git fast-forward format.
mkdir -p /tmp/convert/cvs2git-tmp
cd /tmp/convert
cvs2git --blobfile=cvs2git-tmp/git-blob.dat --dumpfile=cvs2git-tmp/git-dump.dat --username=cvs2git /path/to/cvs/repo/component
cvs2git only migrates history so you need to add all the files to Git yourself.
cvs co component
cd component
find . -type d -name 'CVS' -exec rm -rf {} \;
git init
git add --all
Now import the history and push it all to the origin.
cat ../cvs2git-tmp/git-blob.dat ../cvs2git-tmp/git-dump.dat | git fast-import
git remote add origin https://github.com/name/component.git
git push origin master
Subscribe via RSS