I intend to switch over from CVS to Git.
In the case of SVN, there seems to be cvs2svn
. Is there a similar tool to easily migrate from CVS to Git?
I've tried cvs2git, git-cvsimport and parsecvs.
cvs2git sometimes (as far as I remember) creates bogus branches for tags.
git-cvsimport does not support multiple tags for a changeset. It is possible however to grab some additional changes for cvsps to support it and change the original git-cvsimport to something which uses updated cvsps (I've tried it and it seems to work). On the advantage side it supports incremental updates and has some logic to properly import merges (but it REQUIRES appropriate format for commit message).
parsecvs so far gave me the best results. Unfortunately the code available on the web does not compile cleanly with the latest git. The change while not trivial is doable.
EDIT: It looks like ESR took over both cvsps and parsecvs so there is some hope for CVS->GIT migration. BUT he already mentioned on some mailing list that he may declare some of the tools he took over recently officially dead.