[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