Subject: Re: files missing after converting a cvs repository to git

From: Andreas Ericsson <[email-masked]>
Date: Tue, 07 Oct 2008 08:08:47 +0200

Adam Mercer wrote:
> Hi
> 
> One of the prrojects I am involved with is currently looking into
> migrating from cvs to git, therefore we have been investigating this
> by setting up a git repository that tracks cvs, however there are some
> very strange things going on and I was hoping someone could offer some
> insight into what is going on.
> 
> I use the following git cvsimport command to import the repository:
> 
> $ git cvsimport -v -a -i -k
> -d:pserver:user@server:port/path/to/cvs/repo -C /path/to/new/git/repo
> module
> 
> this ran successfully with no warnings or errors. However, when I
> checkout the new git repository that are several files missing from
> the git checkout that are present in the cvs checkout.
> 
> Does anyone know why this would happen, or how to find out?

Has the CVS repo been tampered with in the past? If so, it's entirely
possible that checking out and working with CVS works just fine, but
getting history into coherent changesets is impossible.

Can you checkout the offending (old) revisions using CVS? If so, there
is indeed a bug in the cvs-importer. Otherwise, your CVS repo is hosed
and you're reduced to running whatever conversion tool does the best
job if you want to maintain history.

cvs2svn is apparently quite good at getting even the weirdest history
right. Perhaps you can try that and then running "git svn" on the
resulting svn repo?

Good luck. You'll probably need it :-/

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231