CVSNT convert to Hg

62 views
Skip to first unread message

John Burnett

unread,
Aug 27, 2012, 11:04:40 AM8/27/12
to merc...@selenic.com
We currently have a large CVS repository with multiple branches running on Windows 2003 server.
We would like to move to Mercurial on a Linux box.
Is there any hope of converting our CVS history?
If so, how is it done(tools, instructions)?
My goggle on the subject did not look promising.
 
 

Marco Giovannini

unread,
Aug 27, 2012, 11:34:50 AM8/27/12
to Merc...@selenic.com
Hi

probably you should start looking here

http://mercurial.selenic.com/wiki/RepositoryConversion#CVS

but nothing is better than a test on the real data.

Regards,
Marco
> _______________________________________________
> Mercurial mailing list
> Merc...@selenic.com
> http://selenic.com/mailman/listinfo/mercurial
>
_______________________________________________
Mercurial mailing list
Merc...@selenic.com
http://selenic.com/mailman/listinfo/mercurial

Bosco Rama

unread,
Aug 27, 2012, 11:28:25 AM8/27/12
to John Burnett, merc...@selenic.com
Look here for the repo conversion extension:
<http://mercurial.selenic.com/wiki/ConvertExtension>

I haven't used it for CVS but it worked great for the other VCS's
that I've converted.

Bosco.

Andreas Tscharner

unread,
Aug 28, 2012, 5:57:07 AM8/28/12
to John Burnett, merc...@selenic.com
As others pointed out, you may try:
http://mercurial.selenic.com/wiki/ConvertExtension

You have better chances if you have a CVSNT client on the machine where
you are converting and if you manage to tell the converter it should use
it (instead of the internal one)

Best regards
Andreas
--
("`-''-/").___..--''"`-._
`o_ o ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' .'
(il).-'' (li).' ((!.-'

Andreas Tscharner an...@vis.ethz.ch ICQ-No. 14356454

Tom Udale

unread,
Aug 28, 2012, 8:57:31 AM8/28/12
to John Burnett, merc...@selenic.com
John,
I used cvs2hg on a 1.8GB CVS repo with multiple branches and it worked
fine resulting in an hg repo with >18k changesets. My cvs repo was
hosted on linux. I assume (but am not sure) it would work on your
windows hosted repo as well.

cvs2hg does some things to try to recreate the exact behavior of cvs
which may or may not result in an "odd" conversion depending on how far
your cvs usage patterns diverge from what is possible with hg (e.g. only
tagging or branching parts of the CVS repo).

There are quite a few options that can control this behavior so your
best bet is to just try it.

You can subsequently use hg convert to, for example, split up the single
output repo into subrepositories or all varieties of other history
changes if you want.

I did quite a bit of that myself and in retrospect, I am not sure if it
was worth it besides satisfying my pedantic nature.



Best,

Tom

Greg Ward

unread,
Sep 3, 2012, 10:04:42 AM9/3/12
to John Burnett, merc...@selenic.com
On 27 August 2012, John Burnett said:
> We currently have a large CVS repository with multiple branches running
> on Windows 2003 server.
> We would like to move to Mercurial on a Linux box.
> Is there any hope of converting our CVS history?

Yes.

But CVS is a very odd beast. There is only one piece of software on
the planet that really seems to understand CVS, and it's cvs2svn. I
forked cvs2svn a couple of years ago to add a cvs2hg backend, and it
works reasonably well. Start with

hg clone http://hg.gerg.ca/cvs2svn

and read README.cvs2hg.

Greg
--
Greg Ward http://www.gerg.ca/
Money is truthful. If a man speaks of his honor, make him pay cash.
Reply all
Reply to author
Forward
0 new messages