On 7/31/06, Martin Langhoff <martin.langhoff@xxxxxxxxx> wrote:
Jon, just get all the file versions out of the ,v file and into the GIT repo, then do find .git/objects/ -type f | git-pack-objects. You don't have to even think of generating the packfile yourself.
Moz CVS expands into over 1M files and 12GB in size. I keep getting concerned about algorithms that take days to complete and need 4GB to run.
On 8/1/06, Jon Smirl <jonsmirl@xxxxxxxxx> wrote: > I am working on combining cvs2svn, parsecvs and cvsps into something > that can handle Mozilla CVS. If you publish your WIP somewhere, I might be able to jump in and help a bit. I've seen your "challenge" email earlier, but haven't been able to get started yet -- lots of work on other foss fronts.
I haven't got anything useful yet, I keep switching in and out of working on this. I am still trying to work out a viable transition strategy that I can attempt to sell the Mozilla developers on. So far I don't have one. The requirements I have so far: 1) the conversion needs to be reproducible so that Moz staff can do it internally without a lot of hassle. They need to verify that nothing has been lost. 2) It shouldn't need a monster machine to run it and it can't take days to finish 3) It has to have incremental support so that it can be run in parallel with CVS with commits still going to CVS. 4) nothing can be lost out of existing CVS 5) a bonus feature would be a partial repository to avoid the initial 700MB git download. cvsps meets these requirements except for not losing anything out of the existing CVS. cvsps is throwing away some items it finds confusing. So far the only algorithm that appears to successfully convert all branches into change sets is the algorithm in cvs2svn. http://cvs2svn.tigris.org/source/browse/cvs2svn/trunk/design-notes.txt?rev=2536&view=markup I've spent more time looking at parsecvs than cvsps, is it reasonable to convert cvsps to the algorithm described above? Another strategy would be to use cvs2svn to build the changeset database and then use cvsps to simply read the changesets out of it and build the git repository. Parsecvs never finishes the conversion it always hits an error or GPF after 4-5 hours, probably a wild pointer somewhere. -- Jon Smirl jonsmirl@xxxxxxxxx - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html