Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Aug 2011 17:59:34 +0200
From:      Ulrich =?utf-8?B?U3DDtnJsZWlu?= <ulrich@spoerlein.net>
To:        Gleb Kurtsou <gleb.kurtsou@gmail.com>
Cc:        mdf@freebsd.org, Adrian Chadd <adrian@freebsd.org>, Jonathan Anderson <jonathan.anderson@cl.cam.ac.uk>, vadim_nuclight@mail.ru, Robert Watson <rwatson@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: Official git export (was: Re: FreeBSD problems and preliminary ways to solve)
Message-ID:  <20110827155934.GQ18091@acme.spoerlein.net>
In-Reply-To: <20110826183130.GA40586@tops>
References:  <CAJ-Vmo=v0UkQarauKrvWKdjMTC81BwXmyhU__rnaQeL3z45L-g@mail.gmail.com> <slrnj5ddgp.4ck.vadim_nuclight@kernblitz.nuclight.avtf.net> <CAMBSHm8uX45k0M4on=5Cpw_CKoddA=4oJSNXpH7dGPt=Vy2HOw@mail.gmail.com> <alpine.BSF.2.00.1108261000040.48200@fledge.watson.org> <CAJ-Vmo=OWz2TjWRrLBeRW3CCZjyVfTDajY9TYGZgzDQ7G3GBag@mail.gmail.com> <CAMGEAwD_v91bf_8e9mJXQa53OGdtqpiMJR%2B9sF0jOLkoDu94tQ@mail.gmail.com> <CAJ-Vmo=H6AKv3Emqa5GjSThEGy8P-utLyGNR6dRuKraqnyTSAQ@mail.gmail.com> <alpine.BSF.2.00.1108261222350.48200@fledge.watson.org> <CAMGEAwB_V8m7HNwxWMhfmNaX97f87gKVj_bOEeTLdLfjY4pjfA@mail.gmail.com> <20110826183130.GA40586@tops>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2011-08-26 at 21:31:31 +0300, Gleb Kurtsou wrote:
> On (26/08/2011 12:43), Jonathan Anderson wrote:
> > On 26 August 2011 12:23, Robert Watson <rwatson@freebsd.org> wrote:
> > > Per my earlier comments, I think we've reached the juncture where a
> > > "blessed" svn2git export would be extremely helpful.
> > >
> > > [...]
> > >
> > > I suspect quite a bit will end up in github just due to its accessibility,
> > > but hosting our own is certainly also an option.  In some sense, this
> > > strikes me as secondary to establishing some of the details about how to
> > > prepare patches, known nits, and having an authoritative origin.
> > 
> > Indeed, that's the beauty of Git, that the repositories will all play
> > nicely together, no matter where they're hosted or what the "chain of
> > custody" is, but they do need to come from the "right" source.
> > 
> > I just hope that the consensus solidifies around the freebsd.git repo
> > that your.org hosts, rather than the freebsd-head.git one that
> > your.org, github and gitorious all have, because your.org's
> > freebsd.git has *all* of the SVN branches, including releases, vendor
> > branches, user projects, etc., whereas the others only have
> > [variously] -CURRENT or a smattering of release branches.

The key part here is svn integration. git-svn has this, but it does not
cope with the huge history we have in the tree. Furthermore git-svn
can/should be run be the individual committers and focusing on the main
branch just makes the most sense.

Especially, considering that you shouldn't use git-svn to merge changes
from head to stable/* (blame the fucked up SVN merge mechanism). Thus,
it's best to not even give committers the stable branches in their git
trees, lest they mess up the svn repo. And it's really easy to push
hundreds of commits from git to svn with one command. And we all make
mistakes ...

> I'd also prefer your.org style repository with all branches. your.org
> branch layout is much better than http://gitorious.org/freebsd/freebsd

Please use http://gitorious.org/freebsd/freebsd-head if you want a
committer to actually take your patches and submit them into svn (using
git-svn).

> The only thing that bothers me is that no repository includes full user
> names, hopefully it would be fixed in official git repo.

No. I really would like to see the full names too, and actually put a
lot of work into getting the correct names into the git repos in the
first place. Alas it is too fragile and will break too often as the
login -> full name mapping is not fixed (yay! we still get new people!)

As part of using git-svn to push stuff upstream, it will first download
and convert the svn head, rebase your patches and then send them as
incremental commits. The "download and convert" part would require that
each and every committer has the same, up-to-date, list of loginnames to
email-addresses.

This will break and the benefit is far too little anyway. Should a full
conversion be done at some point (ha! last I heard our re@ folks are
still using CVS ...), this can be reconsidered and fixed up easily.

> Jonathan, could you update /Git wiki page with an example of git clone
> specifying only head branch and how to add another branch later. That
> would make local repository copy smaller, pull faster and
> 'git branch -r' output much shorter.

I'm fully to blame for the lack of documentation on a working git
workflow. I shall review what's in the Wiki and come up with an overview
of what' what.

Cheers,
Uli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110827155934.GQ18091>