Worth fixing bugs in external cvsps conversion? (issue1643)

Patrick Mézard pmezard at gmail.com
Sun May 24 09:33:07 CDT 2009


Greg Ward a écrit :
> [my original post from May 7]
>> issue1643 reports a problem converting a CVS repository using external
>> cvsps.  I can reproduce the problem, and I think this crash would
>> happen for any CVS repository where a file was first added on a
>> branch, then added again on the trunk.  The bug was reported in Hg
>> 1.2.1, and I can reproduce on current crew.  And I have a fix that
>> seems to work.
>>
>> BUT: is this even worth fixing?  There is nothing unusual about adding
>> a file on a branch.  If 'convert' with external cvsps crashes on that
>> simple case, how many people are likely to be using it?  (Builtin
>> cvsps handled this case just fine.)
>>
>> Perhaps we should put in a big warning when people use external cvsps
>> that says, "using external cvsps is deprecated and will go away in
>> Mercurial version X".  If we do this now, before 1.3, could X = 1.4?
> 
> [Patrick Mézard replies]
>> +1
> 
> Sorry, +1 to what?  Fixing the bug reported in issue1643?  (I have a
> patch, but could not be bothered to write a test.)  Or declaring
> external cvsps deprecated in 1.3 and removing it in 1.4?  Or both?

For deprecating external cvsps.

> 
>> The worst case is someone has an incremental conversion of a huge repository and use clones for whatever reason:
>> - He will have to convert it all again
>> - All the clones will have to be dropped, since the new repo will likely differ.
> 
> Anyone trying to do incremental conversion of a huge CVS repository is
> looking for trouble.  (I'm coming around to Michael Haggerty's
> position that extracting useful info from CVS is so bloody difficult
> that we're better off letting cvs2{svn,git,...} worry about it, and
> just make sure hg can handle its output well.)
> 
>> What's your opinion?
> 
> IMHO we should:
>   * drop support for external cvsps as soon as humanly possible

http://hg.intevation.org/mercurial/crew/rev/5edb2a8e29ea

>   * write a wiki page explaining that it's unfeasible for "hg convert"
> to handle all the bizarre things seen in CVS repositories; leave CVS
> support in just for small CVS repos

I suggest we do that once "hg fastimport" is really advertized.

>   * make "hg fastimport" comparable to "git-fast-import" in order to
> leverage all the work that has gone into cvs2svn over the years
>   * convince the cvs2svn developers to come up with a snappier and
> more accurate name ;-)
> 
> I'm working on #3.  ;-)

Nice.

--
Patrick Mézard


More information about the Mercurial-devel mailing list