Subject: Re: git cvsimport branches not consistent with CVS branches

From: Josh Triplett <[email-masked]>
Date: Sun, 08 Jul 2007 21:31:04 -0700

Steffen Prohaska wrote:
> On Jul 8, 2007, at 12:53 PM, Robin Rosenberg wrote:
>> Corecode's fromcvs is pretty fast and incremental and AFAIK  
>> accurate. I had
>> plenty problems with cvsimport, but fromcvs keeps in sync with the  
>> CVS repo.
>> Get  it at http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs/ .
>>
>> It does not convert regular tags, only branches, however so there  
>> is something to
>> do for those that want a complete cvs import.
> 
> Did anyone compare
>     * git-cvsimport with cvsps patches from [1]
>     * parsecvs [2]
>     * fromcvs
> and can give a recommendation?
> 
> My experience with plain git-cvsimport (without cvsps patches from [1])
> is that it has a lot of problems. I'd recommend not to use it for
> incremental import and be very suspicious about the git repository
> created by git-cvsimport. You need to carefully validate the repository.
> It's likely that you need to fix imported branches. The trunk seems to
> be ok.

I've used both parsecvs and git-cvsimport, and I can definitely say from
experience that cvsimport badly munges history, and parsecvs seems to handle
it correctly.  parsecvs does have the limitations that it requires the ,v
files and doesn't work incrementally, making it great for project repository
conversions and painful for just wanting to use git on a CVS-(mis)managed
project.

I've never used fromcvs.

One idea to mitigate one of the limitations: how about modifying the CVS
server to add an extension that supports downloading full ,v files?  CVS has
had server extensions in the past, such as for ls/rls.  Once support for this
extension makes its way out to most CVS servers, this problem goes away.

- Josh Triplett