Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Aug 2011 11:04:32 +0100
From:      Jonathan Anderson <jonathan.anderson@cl.cam.ac.uk>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        vadim_nuclight@mail.ru, mdf@freebsd.org, 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:  <CAMGEAwD_v91bf_8e9mJXQa53OGdtqpiMJR%2B9sF0jOLkoDu94tQ@mail.gmail.com>
In-Reply-To: <CAJ-Vmo=OWz2TjWRrLBeRW3CCZjyVfTDajY9TYGZgzDQ7G3GBag@mail.gmail.com>
References:  <35765857-1314243257-cardhu_decombobulator_blackberry.rim.net-329610575-@b2.c15.bise7.blackberry> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26 August 2011 10:16, Adrian Chadd <adrian@freebsd.org> wrote:
> [snip]
>
> I've been trying to figure out how to actually _use_ git in a way that
> lets me do continuous (re)integration back from/to FreeBSD.
> Ie, being able to pull/rebase things from upstream, then push commits
> back into the tree, and then pull those back from upstream.
> There's git/SVN integration, but I've not seen examples of how it can
> be used by FreeBSD developers with SVN accounts;

The Gitorious wiki page (http://wiki.freebsd.org/Gitorious) claims
that git-svn can be successfully used with our SVN server with a
command like:

git svn commit-diff -m "git branch to svn" -rHEAD upstream/master
work/ hwpmc_kcachegrind
svn+ssh://svn.freebsd.org/base/user/fabient/svctest/

I have not tested this yet with path=/base/head, as it's release time
and I suspect that people might get rather cranky if I mess things up
too badly. I am definitely intending to test this approach once
CURRENT is unfrozen, however, and document my experiences in the wiki.

One of the downsides of using git-svn is that some things (e.g. "make
sysent") expect the $FreeBSD$ in our header files to be expanded to
something SVN-ey, but Git believes that it shouldn't munge source
code: it's an immutable blob. So, when changing syscalls, one needs to
check out syscalls.master using freebsd-subversion, copy it to the Git
repo, run "make sysent" and then finally revert syscalls.master to
what Git expects it to be (just "$FreeBSD$" at the top). There's a
viable argument to be had here as to whether this is a Git problem or
an assumption-that-the-script-makes problem, but it is a nit to be
aware of.


Jon
-- 
Jonathan Anderson

Research Student, Security Group
Computer Laboratory
University of Cambridge

+44 (1223) 763747
jonathan.anderson@cl.cam.ac.uk



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMGEAwD_v91bf_8e9mJXQa53OGdtqpiMJR%2B9sF0jOLkoDu94tQ>