[PATCH] Built-in cvsps for hg cvsimport

Michael Haggerty mhagger at alum.mit.edu
Fri Apr 4 05:12:34 CDT 2008


Frank Kingswood wrote:
> The built-in cvsps uses cvs rlog on the repository (it does not do
> direct cvs server calls, it runs the cvs executable), sorts the commit
> log messages, and merges commits with identical messages, author and
> branch name and a date within the 60-seconds fuzz window.
> 
> This builtin cvsps code has been found to work succesfully in cases
> where the traditional external cvsps program generates incorrect
> changesets.

Please just be aware that the algorithm that you describe is still not
nearly robust enough to handle nontrivial CVS repositories.  There are
lots of strange things that can happen in a CVS repository history that
confuse cvsps and will confuse your algorithm as well.

Trying to make a cvsps-like algorithm more robust is the way to madness,
because the fundamental algorithm is far too naive.  I learned that
lesson very painfully because that was the approach of cvs2svn 1.x,
before I completely rewrite the changeset-deduction code for cvs2svn 2.x
[1].

Michael

[1] http://cvs2svn.tigris.org/svn/cvs2svn/trunk/doc/design-notes.txt


More information about the Mercurial-devel mailing list