Converting large CVS repositories

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Tue Aug 7 10:46:07 CDT 2007


Giorgos Keramidas wrote:
> On 2007-08-07 17:01, Simon 'corecode' Schubert <corecode at fs.ei.tum.de> wrote:
>> Giorgos Keramidas wrote:
>>> On 2007-08-07 15:17, Simon 'corecode' Schubert <corecode at fs.ei.tum.de> wrote:
>>>> Ollivier Robert wrote:
>>>>> Well, not importing the whole CVS history has been considered as
>>>>> one option for when we decide to move away from CVS but the jury's
>>>>> still out.
>>>> I could tell you the problems in the cvs tree (or how you locate a
>>>> problem), then you could provide a custom fixup in the RCS files or
>>>> as a plugin for the converter, so that the conversion runs smoothly.
>>> That would be amazing.  Does cvs20hg support plugins already?  I
>>> wasn't aware of that :-)
>> No. cvs20hg is broken anyways.  I was referring to fromcvs.  It could
>> be extended to allow for plugins, but the question is where to hook
>> them.
> 
> I think the first thing we can do is find out which parts of the CVS
> tree of FreeBSD src/ contain repo-surgery which confuses fromcvs.

Most problems I've seen now come from vendor imports not happening on a vendor branch (i.e. using 1.1.2 as import branch)  I think problematic areas there are zoneinfo-related stuff and ppp.

> I haven't tried fromcvs yet, but I can do this over the weekend (in case
> it takes a long time).  In the meantime, if you have already identified
> parts of the CVS tree which we can focus on, that would be great.

Just scanning the tree and aggregating takes about 10-20 minutes I think.  This is sufficient to identify a lot of the problems.  Committing is another beast, of course.

Speeding up the import could be done if somebody wrote something like git-fast-import for mercurial.

cheers
  simon



More information about the Mercurial mailing list