9 lines
1.7 KiB
Plaintext
9 lines
1.7 KiB
Plaintext
Announcing cvs-fast-export 1.0
|
|
<p>Not long ago I <a href="http://esr.ibiblio.org/?p=5167">pulled the plug</a> on one of the two CVS export utilities I was maintaining. One consequence of this is that I decided I needed to get the other one out of beta and into a state I would be willing to ship as 1.0.</p>
|
|
<p>And lo, it has come to pass. I just shipped <a href="http://www.catb.org/esr/cvs-fast-export/">cvs-fast-export 1.0</a>. It has been well field-tested; a couple of weeks ago I used it to rescue the history of Gnu Troff.</p>
|
|
<p>There are several CVS exporters out there that suck pretty badly. (To be fair, the perversity of CVS is such that doing an even half-decent job of lifting CVS histories into a modern version-control system is quite difficult.) Now that this one is shipped I know of exactly two that don’t suck. The other one is Michael Haggerty’s cvs2git, which I’m working with him on improving.</p>
|
|
<p>Tradeoffs: cvs2git is slow and a bit clunky to use (I’m improving the latter but can’t fix the former). cvs-fast-export is blazingly fast (like, 3.7K commits a minute) but has a hard repository-size limit – above it you run out of core and the OS reaps the process in mid-flight. (Very few projects will hit this limit.)</p>
|
|
<p>For each tool there are weird CVS edge cases that it gets wrong. The sets of edge cases are different. cvs2git’s may be smaller, but I’m not sure of that; we haven’t set up head-to-head testing yet. Most projects will not trip over either set of problems.</p>
|
|
<p>cvs-fast-export is better documented, especially around error conditions.</p>
|
|
<p>Help stamp out CVS in our lifetime!</p>
|