Hello! On Fri, Jan 16, 2009 at 07:20:01PM +0100, Ludovic Courtès wrote: > Roland McGrath <rol...@frob.com> writes: > > But AFAIK git-cvsimport alone is easy enough to get right.
It works well for MIG and Hurd itself, but chokes on the gnumach repo. > We converted Guile's CVS repo (where there were a number of branches, > several of which were active) to Git several months ago. The first > attempt used `git-cvsimport' and was a failure, because this tool > doesn't correctly handle branches (basically, HEAD was correct, but the > branches were broken). We ended up using `cvs2svn', which turned out to > be the right solution. Details and pointers in this thread: > > http://thread.gmane.org/gmane.lisp.guile.devel/7124 And I'm seeing the same (I think) problems: converting gnumach with git-cvsimport will yield an unusable gnumach-1-branch -- on which you would still find all the oskit files that are not present in the CVS branch. Guillem suggested using cvs2svn and then git svn clone, but that has problems of its own: it at least misconverts the release tags that the gnumach repository has: suddenly files pop up (and are removed again) that had been removed already before. I'll do some further experimenting, but if someone wants to chime in, please speak up. If I got this correctly, gnumach roughly has the following structure: - [gnumach-1-branch] - ... / ... -- [HEAD] - Hc1 - Hc2 - Hc2 - Hc3 - ....... - Hc666 - MO [HEAD + oskit-branch] - [HEAD] - ... \ \ \ \ . \ / - [oskit-branch] - Oc1 - MH - Oc2 - MH - ... -Ocn - cN ... commit no. N H ... HEAD O ... oskit-branch MX ... merge from X We'd want to preserve the history of gnumach-1-branch (which is not difficult, save for the conversion issues mentioned above), but likewise people requested to transfer the Oskit-Mach history into the git repo. How to do the latter? Ideally, we'd like to have, beginning from the branch point of the oskit-branch, in the git history the Oc and Hc commits individually preserved, avoiding the MH merges and the big MO merge. But I'm afraid this will only be possible if someone sits down and does this manually. Or is there another way? (Or we go the route ... - Hc1 - ... Hc666 - MO - ... and thus merge in all Oc changes and one blob.) Regards, Thomas
signature.asc
Description: Digital signature