Hi there, On Thu, Jul 28, 2011 at 03:36:07PM +0200, Lucas Nussbaum wrote: > Hi, > > It seems that many different teams have recently switched to Git, or are > considering switching. But each of them seems to re-implement the wheel > by designing their own Git workflow. None of us is at Debconf unfortunately, but the Mono/CLI teams are interested in this. For all of our packages we use git-buildpackage and the majority just use plain quilt (or maybe if we're feeling exotic with gbp-pq) for patches. I think patches are the most interesting area to focus on, as they are where we can get a lot of the benefit of git. What you want: 1. Ability to cherry-pick from upstream 2. Proper history of patches 3. git-blame to work 4. Ability to drop patches merged upstream, etc 5. Use just the commands provided by git as far as possible (scripts OK as long as they just automate git commands) 2 & 4 seem to me to basically mean that you want the patches /applied/ in your git tree. But it's also pretty nasty to version .pc (c.f. #572204), so you probably want to use no patchsys or single-debian-patch to avoid the pain at the expense of having a slightly less useful source package. Mirco 'meebey' Bauer came up with a pure git workflow for managing patches for the mono source package, in which we cherry-pick a lot of patches from upstream. Basically each patch is a branch of upstream, which is itself a gbp branch. These are then merged in turn into master, resolving all conflicts at this time. We can handle merging with new upstream versions and dropping applied patches. Here's some command sequences that might give you an idea of how this works http://wiki.debian.org/Teams/DebianMonoGroup/Git and a script also written by Mirco to test whether branches are already merged in a new upstream version or if they need updating http://anonscm.debian.org/gitweb/?p=pkg-mono/packages/mono.git;a=blob;f=debian/git-test-debian-patches;h=76f31265d026eb6c97448749c864aba39630f11e;hb=refs/heads/master-experimental It's clearly not perfect, but I think something like this is a good start. HTH, -- Iain Lane [ iain@orangesquash.org.uk ] Debian Developer [ laney@debian.org ] Ubuntu Developer [ laney@ubuntu.com ] PhD student [ ial@cs.nott.ac.uk ]
Attachment:
signature.asc
Description: Digital signature