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
