monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Request for help adding monotone output to cvs2svn


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] Request for help adding monotone output to cvs2svn [was: cvs_import feature sponsored]
Date: Tue, 18 Sep 2007 12:13:49 +0200
User-agent: Icedove 1.5.0.12 (X11/20070730)

Hello Michael,

sorry for not responding to your private mails earlier, I've been ill
the last few days.

Michael Haggerty wrote:
Graydon Hoare wrote:
It probably does not require mentioning, but if possible of course I'd
encourage you to do this with a clean enough interface to monotone that
other projects can reuse it.

That's worth a thought, although it's certainly a second step. My
primary focus currently is on monotone.

While I'm always pleased to have monotone be "best" at something,
extracting latent structure from a CVS archive is as you know
research-grade inference work, and if you can condense what you learn
into a reusable tool it'll probably have greater visibility and longevity.

Agreed, I'm discussing the issue with Michael.

The tool you are wishing for already exists: cvs2svn [1].  All that is
missing is a backend to output to monotone, but that should be hackable
in a day or two.

I've been well aware of cvs2svn at the point I've started my
cvsimport branch for monotone. Back then I've decided *not* to used it
for several reasons:

 - it was heavily disk based, where today conversion can easily be done
in memory.

 - it seemed to be very subversion specific in various aspects, which
also targeted performance.

 - I wanted to learn C++, not python ;-)

cvs2svn is evolving into a generic tool for making sense of CVS
repositories and converting to other SCMs.  I've refactored it
considerably to allow output to other SCMs via output modules, and
recently added an experimental git backend [2] in only one or two days
of work.

I'm glad that cvs2svn is also evolving. I've seen your efforts and
appreciate that. Maybe cvs2svn is coming closer to being able to export
to monotone.

But in the meantime I've also got closer to sanitize CVS repositories.
All of this process helped me a lot in understanding that process. And
I'm still happy to discuss some technical issues with you. IIRC that's
how we decided to work together, back then. Share algorithms and
experience but not code. Okay, maybe it was rather me deciding that way...

You seems to only look at this as a waste of effort. I think it very well paid off for me and for getting new inputs.

cvs2svn is a mature project that is very good at understanding almost
all of CVS's many perversities.  See [3] for a list of cvs2svn's main
features, most of which would be helpful when converting to monotone.
The emphasis is on robust conversions with no data loss, and sensible
translation of CVS idioms.  Its test suite contains an extensive
collection of strange CVS repositories that we have collected over the
years, and cvs2svn can convert all of them.  It includes lots of options
for customizing the conversion.

These are all good reasons to use cvs2svn.

I'm not a monotone user, but if anybody wants to supply the monotone
expertise, I'd be happy to work together to write a monotone backend for
cvs2svn.  (I've already made this offer to Markus Schiltknecht but he
doesn't seem interested.)  I think it should be easy to get the backend
running in just a day or two.

Maybe that's possible, yes. None the less, I don't think it will make my
code obsolete.

I'll get back to you with technical aspects on the cvs2svn mailing list as soon as I've caught.

Regards

Markus






reply via email to

[Prev in Thread] Current Thread [Next in Thread]