[PATCH] Built-in cvsps for hg cvsimport

Frank Kingswood frank at kingswood-consulting.co.uk
Fri Apr 4 07:33:27 CDT 2008


Michael Haggerty wrote:
> Frank Kingswood wrote:
>> This builtin cvsps code has been found to work succesfully in cases
>> where the traditional external cvsps program generates incorrect
>> changesets.
> 
> 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

Fair enough. If you have a repo with some crufty changes then it might 
find a loop, and die horribly. But as it is, this patch gives us 
built-in cvsps code which is at least as good as cvsps 2.1 (it copes in 
cases where cvsps fails).

My initial problem was that cvsps 2.1 (or the hacked up and improved 
version used with git) accidentally dropped many changesets in my 
repository on the floor, so I wrote a cvsps clone.

With a cvsps clone, hg import would still depend on parsing an external 
program's output, so I decided that it would be much better to plumb it 
directly into hg convert. That gave me the means to deal with merges 
too, which now follow magic tags in CVS log messages.

Frank



More information about the Mercurial-devel mailing list