Re: Importing all modules in a CVS repo with git-cvsimport
On Wed, 2008-03-19 at 16:41 -0400, Jeff King wrote:
Show 25 quoted lines
> On Wed, Mar 19, 2008 at 06:35:36PM +0000, Alex Bennee wrote:
>
> > I'm wanting to import the entirety of a CVS repository into git rather
> > than an individual module. However every approach I've tried to do this
> > fails as the underlying cvsps tool seems to only be able to deal with
> > modules rather than the whole project.
> >
> > Is there any invocation I could do that would do the whole import?
>
> What do you want the result to look like? If you have CVS modules 'foo',
> 'bar', and 'baz', I assume you want a repository with subdirectories
> 'foo', 'bar', and 'baz'?
>
> In that case, you can create a CVS module that just includes all three:
>
> cd /path/to/cvsroot
> mkdir all
> cd all
> for i in foo bar baz; do
> ln -s ../$i
> done
>
> and then:
>
> git cvsimport all
Hmm that fails:
09:55 ajb@pitcairn/x86_64 [test.cvs] >perl /export/src/git.git/git-cvsimport.perl -v -C /export/csrc/import_test/test.git all
Initialized empty Git repository in /export/csrc/import_test/test.git/.git/
Running cvsps...
cvs rlog: Logging .
WARNING: file /newcvs/.cvsignore doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/Attic/Make.rules doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/Makefile doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/Makefile.voip doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/Attic/Vectastar.bom doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/Attic/dMakefile doesn't match strip_path /newcvs/all/. ignoring
cvs rlog: Logging CVSROOT
WARNING: file /newcvs/CVSROOT/checkoutlist doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/CVSROOT/commitinfo doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/CVSROOT/config doesn't match strip_path /newcvs/all/. ignoring
WARNING: file /newcvs/CVSROOT/cvsignore doesn't match strip_path /newcvs/all/. ignoring
test.cvs is a fresh checkout of the whole tree. "newcvs" is the root of CVS on the server. The warnings are the same when I try with "." as the module. Or where you saying do this with the actually CVS repo itself?
> You might be able to do something similar with the CVSROOT/modules file,
> but I haven't tried.
>
> -Peff
Alex, homepage: http://www.bennee.com/~alex/ There is no fool to the old fool. -- John Heywood