Call for testing: cvs2bzr
Michael Haggerty
mhagger at alum.mit.edu
Wed Aug 19 23:19:18 BST 2009
Ian Clatworthy wrote:
> Michael Haggerty wrote:
>> Let me know when you would like me to pull this patch. I would have a
>> pretty low acceptance threshold, since it doesn't involve much code and
>> there currently is no cvs2bzr at all.
>
> It's ready to go IMO. A Bazaar branch with my changes is available from
> https://code.launchpad.net/~ian-clatworthy/+junk/cvs2svn. It should be
> pretty easy to grab the diffs (mostly new files) from there. If not, let
> me know how you'd like the patch put together.
Cool, thanks! I committed your changes to trunk as r4871-4873 (with
somewhat expanded commit messages :-) ).
I am curious why you did not include the discussion of fixup branches in
www/cvs2bzr.html. Don't similar considerations apply to cvs2bzr/"bzr
fastimport"? If not, how do you get around them?
>> * A patch to contrib/verify-cvs2svn.py to allow it to verify cvs2bzr
>> conversions. Greg Ward has already abstracted out the parts that vary
>> from VCS to VCS. (Ultimately we should develop at least some minimal
>> test suite for checking non-2svn conversions.)
>
> Whatever works for hg, ought to work for bzr here. We also allow
> multiple merge parents though. I'll add this to my list but no promises
> as to when I'll get to it. My list is overly long right now. :-(
The code that needs to be specialized is very VCS-specific; for example,
code to check a particular branch out of the repository.
>> When Greg Ward is further along on cvs2hg [1], we should think about
>> refactoring the common code a little better, maybe s/Git/FastImport/ and
>> make git, bzr, and hg all peers that derive from the shared code.
>
> That would be good. I've copied Greg on this email as my changes may
> help him get cvs2hg in place sooner.
There sure is a lot of duplication between the three DVCSs.
Medium-term, this will be a maintenance headache unless we can reduce
it. For example, we might think of having only one
"cvs2fi-example.options" with a variable like target=(git|bzr|hg) at the
top of the file then use "if target=='blah'" within the file in the few
places where the three systems diverge.
Michael
More information about the bazaar
mailing list