Cool, I was actually just discussing more or less exactly this
process....

Thanks Jeremy...

-- 

Kelly F. Hickel
Senior Software Architect
MQSoftware, Inc
952.345.8677
[EMAIL PROTECTED]
www.mqsoftware.com


> -----Original Message-----
> From: Jeremy Barnes [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 06, 2007 2:22 PM
> To: [email protected]
> Cc: Kelly F. Hickel
> Subject: Re: [Tailor] can I pull individual cvs branches together into
> a single monotone revision tree?
> 
> I have done this with a similar repository under similar
> circumstances, but
> using Mercurial.
> 
> I proceeded as follows:
> 1.  I imported the CVS head branch straight into Mercurial using
> Tailor in the
> standard way.
> 2.  For each of the branchpoints of the branches I was interested in,
> I found
> the mercurial revision that matched the branchpoint by manually
> trawling
> through the CVS logs and matching them up with the mercurial logs.
> 3.  I created a separate tailor project for each of the branches I
> wanted to
> import.  The project was a straight-line import of the branch (with
> start-revision = <branchname> INITIAL).  I didn't run tailor yet,
> however...
> 4.  For each of these tailor repositories, I cloned the mercurial
> repository
> into the shared source directory (where tailor would normally create a
> new
> mercurial project for the branch), but I only cloned the history up
> until the
> revision that I wanted.  I then removed all working files (anything
> that
> would interfere with CVS doing a checkout of the branch there).  I
> only left
> the mercurial repository, in .hg .hgignore and .hgtags; all other
> files were
> deleted.  (If you leave files that match the CVS ones, CVS will
> generate an
> error when it tries to check out the repository).
> 
> At this point, Tailor thinks that there is no repository there.  When
> it
> thinks that it is creating a new file or directory, it is really just
> putting
> modified files into mercurial.  And the initial checkout matches the
> version
> already in mercurial, so there is no delta for the first commit.
> 
> 5.  I then ran tailor on each of the branches, ending up with several
> repositories, with a straight line history for each branch, but all
> with the
> same "base" tree.
> 6.  I then pulled all of the changes from all of the repositories
> together
> into one repository.
> 
> Most of the problems that I had were when people had on a branch
> modified the
> CVS repository directly, and with various bugs in CVS that had to be
> worked
> around (I submitted patches for these to Tailor).
> 
> I also had to patch CVS to stop it from waiting for 1 second between
> each
> operation; with over 50,000 CVS commits it would have taken a long
> time
> otherwise.
> 
> As it was, it took a couple of hours for the cvs HEAD and from several
> minutes
> to half an hour for the branches depending upon how many commits there
> were.
> 
> Hope this helps,
> Jeremy
> 
> 
> 
> 
> On Tuesday 05 June 2007 13:20, Kelly F. Hickel wrote:
> > Just found this tool yesterday, and I'm trying to see if it can
> > reasonably convert our cvs repo into monotone, to help us make the
> > switch.
> >
> >
> >
> > At the moment, I've been running it on a single cvs module and I
> killed
> > it after 700 cpu minutes.  This is a heavily used repo, 6 or 7 years
> old
> > with constant development by 20 or so developers, and thousands of
> > branches and tags.  I don't really care about most of the branches,
> just
> > the 3-4 main development lines.
> >
> >
> >
> >  I see that one of my options is to specify a particular branch. My
> > question is, if I do this conversion in several steps, say I first
> do
> > HEAD, then the 3 or 4 other branches that I care about, will tailor
> link
> > up the revision history properly the second, third, or four time I
> run
> > it with different branches?
> >
> >
> >
> > The goal of course is to end up with proper revision history and
> > branching for the 4 or so branches I care about in monotone.
> >
> >
> >
> > Thanks,
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to