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

Re: What is the best way to convert a multi module CVS repository to git?

From
Heiko Voigt <hvoigt@hvoigt.net>
Date
Jan 14, 2010, 20:52 UTC
Message-ID
<20100114205157.GA96135@book.hvoigt.net>
In-Reply-To
<20100104155322.GC12195@atpcttvc.global-intra.net>
On Mon, Jan 04, 2010 at 04:53:22PM +0100, Wolfgang.Liebich@siemens-enterprise.com wrote:
Show 23 quoted lines
> Hi,
> I have inherited a rather big, old, multi-module CVS repository which I
> want to convert to GIT.
> Most of the CVS modules do belong to one project now, i.e. the
> separation into multiple modules is something of a historical accident
> now. This means it does not make sense to put each CVS module into an
> own GIT project and use submodules.
> Furthermore the conversion will be one-way, i.e. afterwards the CVS repo
> will be shutdown forever and moved to offline storage. Incremental
> conversion is therefore not an issue.
> If I need one day to convert everything (the repo is about 3GB), so be
> it - the most important feature to me is correctness (I do NOT want to
> have to run manual verifications for N days/weeks/months, just to verify
> that everything was converted), and ideally even the possibility of
> re-creating the history of files which were moved across directories
> (this HAS happened sometimes - I did not fiddle around with the RCS
> files, but used straight rm+add, and accepted the loss of history forced
> on me by CVS).
> 
> What is the best (i.e. most trustworthy) method of conversion? For now
> it seems to me that cvs2git (the ...2git companion to cvs2svn) is the
> best choice (because it can handle multi-module projects in a sane way)
> - but I'm open to suggestions!

As far as I know cvs2git provides the technically most correct conversion out there. Nevertheless I would suggest to try parsecvs. It is kind of hard to set up but has a more intuitive heuristic for tags although not strictly correct.

cheers Heiko
Previous: wolfgang.liebich@siemens-enterprise.com
Message 2 of 2 in “What is the best way to convert a multi module CVS repository to git?”
  1. wolfgang.liebich@siemens-enterprise.comJan 4, 2010
  2. Heiko VoigtJan 14, 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.