Worth fixing bugs in external cvsps conversion? (issue1643)

Greg Ward greg at gerg.ca
Mon May 18 14:14:13 CDT 2009


[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?

> 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
  * 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
  * 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.  ;-)

Greg



More information about the Mercurial-devel mailing list