/fromcvs

Fast and modular CVS –> * converter

Primary LanguageRubyGNU Affero General Public License v3.0AGPL-3.0

From CVS to * in little time
============================

Prerequisites:
 - ruby (1.8.5 known working)
 - fromcvs, <https://github.com/corecode/fromcvs>
 - rcsparse, <https://github.com/corecode/rcsparse> (ruby module)
 - Ruby/RBTree gem
 - for git: git-fast-import, part of git 1.5
 - for db/commitset: sqlite3 + sqlite3-ruby (available as gem)


How to convert a CVS repo
-------------------------

There is still a nice frontend missing, so you have to invoke the scripts by
hand.

% mkdir gitdest && (cd gitdest && git init)
% ruby togit.rb /path/to/cvsroot modulename gitdest
% cd gitdest && git-repack -a -f -d      # optional, saves 20% or so

If you want to get nice author names, create the file authormap in CVSROOT:

% cat << EOF > /path/to/cvsroot/CVSROOT/authormap
corecode	Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
jdoe		Jon H. Doe <hannidoe@example.net>
branch-fixup	CVS repo conversion <flames@example.net>
EOF

That's about for the quickstart.  Be sure to report conversion errors or
runtime issues (possibly due to obscure CVS repo activity) to me.

-- Simon Schubert <2@0x2c.org>