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