The 4Suite.org projects are moving from CVS to Mercurial. I’m still quite happy with Mercurial having used it for several newer projects. One last test I anted was to convert the bigger projects from CVS to see how smooth the transition might be.
The 4Suite.org projects are moving from CVS to Mercurial. I’m still quite happy with Mercurial having used it for several newer projects. One last test I wanted was to convert the bigger projects from CVS to see how smooth the transition might be.
I used 4Suite as a torture test. It has a decade of CVS history, and has already gone through a couple of major migrations of CVS set-up. We are actually not continuing that history through to Mercurial, because we’ll be starting afresh with Amara 2.0, copying in and adapting what we need from 4Suite. But if we can convert 4Suite from CVS to Mercurial we can be confident in maintaining history through almost any needed transition.
Every means I tried to convert directly from CVS to Hg failed (this is on a Debian box), including the methods listed on the converting from CVS to Mercurial page. Tailor was pretty fiddly and I gave up trying to get it to do just what I wanted. The others just failed. I think part of the reason is that everything is geared for a transition period where commits have to be made on CVS as well as Hg, and this complicates the task of their scope.
In the end I converted from CVS to Subversion and from SVN to Hg. I think both stages of this transformation are better tested. For the CVS to Subversion step I largely used the first step of these instructions. Again I didn’t need the rest because it’s a one-way conversion.
A couple of SVN to Hg conversions then failed on me, but hgsvn worked like a champ. I started following the suggestions on this page but in the end the process was easy and I just felt my way through it. At one point my connection to the server died, and I tried running hgsvnpull again, and it continued where it left off, detecting the interruption and using svn revert to work back to the last stable state, then continuing.
Both parts of the conversion took hours, and the second part took many hours. I can understand that considering how much history was being processed.

