Thread (7 messages) flat view 7 messages, 4 authors, 2016-06-15

Re: Git and cvsimport

From: Nick <hidden>
Date: 2016-06-15 22:48:43

Marin Atanasov wrote:
I want to convert CVS repo to a Git one.
If you don't care about incrementally updating the Git repo from the CVS one, I
suggest you don't use git-cvsimport. It can make mistakes in the translation,
especially with large and old repositories.  On the other hand, git-cvsimport is
currently the only tool which can incrementally import changes from CVS, i.e.
co-exist with it.

cvs2git is a tool which worked more reliably for me, but it can only make a
one-off conversion.  Also, you might need to tidy up the result afterwards -
removing crufty tags, unrelated directories, correcting committer identities,
etc.  git-filter-branch may be useful here.

If you do care about co-existing with CVS, I find it gets to be hard work,
especially if your CVS repo has branches you have to follow - so really I'd
suggest you reconsider and only try it if you really have no choice.

In that case you may want to write a wrapper script for
git-cvsimport/exportcommit commands to reduce the complexity of using them.
I've attempted this, and it sort of works for me, but the result is not really
satisfactory, I find it's still liable to break on encountering random things
cvsimport/cvsexportcommit can't handle, and then you need to fix things manually
(although usually this can be done in Git).  Ask me if you want to know more.

git-cvssever may be another option, if your CVS users agree, but I've no
experience with it.

My preferred strategy is to persuade my colleagues to abandon CVS entirely.


Cheers,

N
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help