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>