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

Re: Git and cvsimport

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Apr 27, 2010, 07:37 UTC
Message-ID
<4BD69450.8040608@drmicha.warpmail.net>
In-Reply-To
<i2l717f7a3e1004260727wd87900a5tcfb61a3142d0ba@mail.gmail.com>
Marin Atanasov venit, vidit, dixit 26.04.2010 16:27:
Show 68 quoted lines
> Hello,
> 
> I need to import an existing CVS repo to Git. Using git-cvsimport
> works well for me when importing from the CVS server itself, but I
> need to do something different.
> 
> Here's a little info about what I'm doing.
> 
> $ pwd
> /home/<user>/test
> 
> $ git --version
> git version 1.5.6.5
> 
> $ git cvsimport -v -d :pserver:<user>@<server>:/var/
> cvsroot -C test.git test-repo
> Initialized empty Git repository in /home/<user>/test/test.git/.git/
> Running cvsps...
> connect error: Network is unreachable
> cvs rlog: Logging test-repo
> Fetching file1   v 1.1
> New file1: 14 bytes
> Fetching file2   v 1.1
> New file2: 14 bytes
> Fetching file3   v 1.1
> New file3: 14 bytes
> Tree ID bf675ce25c8ca3fd1f4a120ea933510c90ccda16
> Parent ID (empty)
> Committed patch 1 (origin +0000 2010-04-26 09:40:58)
> Commit ID 377641eae81975e214a579da9e6c0c5afd819b17
> Created tag 'SOMETAG' on 'origin'
> Fetching file1   v 1.2
> Update file1: 47 bytes
> Fetching file3   v 1.2
> Update file3: 47 bytes
> Tree ID 10ab70cdcc53bb94684d09e60817bb62cb8c3d98
> Parent ID 377641eae81975e214a579da9e6c0c5afd819b17
> Committed patch 2 (origin +0000 2010-04-26 09:44:22)
> Commit ID fea2a99c906e57df5c4735ba3f9627cbb8fba295
> DONE; creating master branch
> 
> The above commands works fine, when I directly get the files from the
> CVS server, but I want to do the following.
> 
>  - checkout files from CVS, which are already tagged with certain
> names to a local folder
>  - then import those files to Git with git-cvsimport
>  - fetch those imports later by a shared bare repo into different
> branches, so at the end each branch will contain the files with the
> certain tag.
> 
> So, If i do the following, then git-cvsimport fails:
> 
> $ pwd
> /home/<user>/test
> 
> $ cvs -d :pserver:<user>@<server>:/var/cvsroot co -r SOMETAG test-repo
> cvs checkout: Updating test-repo
> U test-repo/file1
> U test-repo/file2
> U test-repo/file3
> 
> $ git cvsimport -v -d /home/<user>/test -C test.git test-repo
> Expected Valid-requests from server, but got: E Cannot access
> /home/<user>/test/CVSROOT
> 
> Can you give me some hints how to do this? Seems that I can import CVS
> repos from remote server, but cannot do this from a local folder..
... because a folder is not a server, and a cvs checkout is not a cvs repo.

It's not completely clear to me what you want and why, but the simplest way seems to be to checkout each cvs tag using cvs, and (add &) commit the result to the git branch of your choice using git. You don't seem to want to convert the cvs repo, so don't use git cvs-import.

But, really, I don't know what you want - history-less git branches from cvs tags?

Michael
Previous: Marin AtanasovNext: Marin Atanasov
Message 2 of 8 in “Git and cvsimport”
  1. Marin AtanasovApr 26, 2010
  2. Michael J GruberApr 27, 2010
  3. Marin AtanasovApr 27, 2010
  4. Michael J GruberApr 27, 2010
  5. NickApr 27, 2010
  6. Tor ArntsenApr 27, 2010
  7. Marin Atanasov NikolovApr 28, 2010
  8. Andreas SchwabApr 28, 2010

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.