git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Importing all modules in a CVS repo with git-cvsimport

From
ABAlex Bennee <kernel-hacker@bennee.com>
Date
Mar 20, 2008, 09:58 UTC
Message-ID
<1206007130.24610.6.camel@pitcairn.cambridgebroadband.com>
In-Reply-To
<20080319204154.GA19556@coredump.intra.peff.net>
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

Previous: Jeff KingNext: Jeff King
Message 5 of 8 in “Importing all modules in a CVS repo with git-cvsimport”
  1. Alex BenneeMar 19, 2008
  2. Daniel BarkalowMar 19, 2008
  3. Alex BenneeMar 20, 2008
  4. Jeff KingMar 19, 2008
  5. Alex BenneeMar 20, 2008
  6. Jeff KingMar 20, 2008
  7. Robin RosenbergMar 20, 2008
  8. Alex BenneeMar 20, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.