[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Moving to git

From: Thomas Schwinge
Subject: Re: Moving to git
Date: Sat, 28 Feb 2009 18:11:07 +0100
User-agent: Mutt/1.5.11


On Fri, Jan 16, 2009 at 07:20:01PM +0100, Ludovic Court├Ęs wrote:
> Roland McGrath <roland@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


Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]