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

Re: Problem with git-cvsimport

From
EBEyvind Bernhardsen <eyvind-git-list@orakel.ntnu.no>
Date
Oct 9, 2007, 19:41 UTC
Message-ID
<47065A5D-D170-4D11-A802-85376F97F8D2@orakel.ntnu.no>
In-Reply-To
<470B8049.1090308@samba.org>
On 9. okt.. 2007, at 15.21, Gerald (Jerry) Carter wrote:
> I would actually plug using cvs2svn to convert directly to git.
> See this thread for Michael's original announcement.
>
>   http://marc.info/?l=git&m=118592701426175&w=2

Seconded! I've tried git-cvsimport, parsecvs, fromcvs, and cvs2svn on my employer's many large CVS modules, and cvs2svn is the only one that has never mangled an import.

That said, it is a work in progress, so there are some caveats:
* Setting up the direct conversion to git is more work than it should  
(and probably will, eventually) be.
* There is no support for incremental importing, and git-cvsimport  
_will_ mess up your git repository sooner or later if you try to use  
it for subsequent incremental imports.
* Tags each get a branch with a single commit, with the actual tag  
pointing to that commit.  This makes it harder than necessary to  
figure out what the history looks like; gitk's default view won't show  
any tags, for example, since it only shows the master branch and not  
the single-commit tag branches.
* Branches all get a useless commit at their branch point.  All  
branches from the main branch appear to be merged from the vendor  
branch (ie, the useless commit has the vendor branch as an extra  
parent), which might make sense to someone who knows what the vendor  
branch is for, but makes no sense to me.  This combined with the  
previous point makes "gitk --all" look needlessly spaghetti-like if  
you have a slightly complicated CVS history.

To sum up, cvs2svn gets the important stuff right, but has some sharp corners you need to watch so you don't put an eye out.

Eyvind Bernhardsen
Previous: Gerald (Jerry) CarterNext: Michael Haggerty
Message 4 of 11 in “Problem with git-cvsimport”
  1. Thomas PaschOct 9, 2007
  2. Jan WielemakerOct 9, 2007
  3. Gerald (Jerry) CarterOct 9, 2007
  4. Eyvind BernhardsenOct 9, 2007
  5. Michael HaggertyOct 10, 2007
  6. Eyvind BernhardsenOct 10, 2007
  7. Mike SnitzerOct 30, 2007
  8. Mike SnitzerOct 30, 2007
  9. Robin RosenbergOct 30, 2007
  10. Aidan Van DykOct 31, 2007
  11. Michael HaggertyOct 31, 2007

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.