{"thread":{"id":"22092","subject":"What is the best way to convert a multi module CVS repository to git?","startedAt":"2010-01-04T15:53:22Z","lastAt":"2010-01-14T20:52:06Z","messageCount":2,"participants":["wolfgang.liebich@siemens-enterprise.com","Heiko Voigt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"130768","messageId":"20100104155322.GC12195@atpcttvc.global-intra.net","threadId":"22092","inReplyTo":null,"subject":"What is the best way to convert a multi module CVS repository to git?","fromName":"","fromEmail":"wolfgang.liebich@siemens-enterprise.com","sentAt":"2010-01-04T15:53:22Z","receivedAt":"2010-01-04T15:53:22Z","isPatch":false,"sender":{"key":"wolfgang.liebich@siemens-enterprise.com","avatar":null},"body":"Hi,\nI have inherited a rather big, old, multi-module CVS repository which I\nwant to convert to GIT.\nMost of the CVS modules do belong to one project now, i.e. the\nseparation into multiple modules is something of a historical accident\nnow. This means it does not make sense to put each CVS module into an\nown GIT project and use submodules.\nFurthermore the conversion will be one-way, i.e. afterwards the CVS repo\nwill be shutdown forever and moved to offline storage. Incremental\nconversion is therefore not an issue.\nIf I need one day to convert everything (the repo is about 3GB), so be\nit - the most important feature to me is correctness (I do NOT want to\nhave to run manual verifications for N days/weeks/months, just to verify\nthat everything was converted), and ideally even the possibility of\nre-creating the history of files which were moved across directories\n(this HAS happened sometimes - I did not fiddle around with the RCS\nfiles, but used straight rm+add, and accepted the loss of history forced\non me by CVS).\n\nWhat is the best (i.e. most trustworthy) method of conversion? For now\nit seems to me that cvs2git (the ...2git companion to cvs2svn) is the\nbest choice (because it can handle multi-module projects in a sane way)\n- but I'm open to suggestions!\n\nCiao,\nWolfgang Liebich\n"},{"id":"131675","messageId":"20100114205157.GA96135@book.hvoigt.net","threadId":"22092","inReplyTo":"20100104155322.GC12195@atpcttvc.global-intra.net","subject":"Re: What is the best way to convert a multi module CVS repository to git?","fromName":"Heiko Voigt","fromEmail":"hvoigt@hvoigt.net","sentAt":"2010-01-14T20:52:06Z","receivedAt":"2010-01-14T20:52:06Z","isPatch":false,"sender":{"key":"hvoigt@hvoigt.net","avatar":"https://avatars.githubusercontent.com/u/184958?v=4"},"body":"On Mon, Jan 04, 2010 at 04:53:22PM +0100, Wolfgang.Liebich@siemens-enterprise.com wrote:\n> Hi,\n> I have inherited a rather big, old, multi-module CVS repository which I\n> want to convert to GIT.\n> Most of the CVS modules do belong to one project now, i.e. the\n> separation into multiple modules is something of a historical accident\n> now. This means it does not make sense to put each CVS module into an\n> own GIT project and use submodules.\n> Furthermore the conversion will be one-way, i.e. afterwards the CVS repo\n> will be shutdown forever and moved to offline storage. Incremental\n> conversion is therefore not an issue.\n> If I need one day to convert everything (the repo is about 3GB), so be\n> it - the most important feature to me is correctness (I do NOT want to\n> have to run manual verifications for N days/weeks/months, just to verify\n> that everything was converted), and ideally even the possibility of\n> re-creating the history of files which were moved across directories\n> (this HAS happened sometimes - I did not fiddle around with the RCS\n> files, but used straight rm+add, and accepted the loss of history forced\n> on me by CVS).\n> \n> What is the best (i.e. most trustworthy) method of conversion? For now\n> it seems to me that cvs2git (the ...2git companion to cvs2svn) is the\n> best choice (because it can handle multi-module projects in a sane way)\n> - but I'm open to suggestions!\n\nAs far as I know cvs2git provides the technically most correct\nconversion out there. Nevertheless I would suggest to try parsecvs. It\nis kind of hard to set up but has a more intuitive heuristic for tags\nalthough not strictly correct.\n\ncheers Heiko\n"}]}