Subject: Re: rethinking patch management with GIT / topgit

From: Thomas Koch <[email-masked]>
Date: Mon, 22 Mar 2010 08:59:40 +0100

Hi Petr,

Petr Baudis:
> On Sat, Mar 20, 2010 at 07:53:34PM +0100, Thomas Koch wrote:
> > Petr Baudis:
> >   - tg recreate <patchset> <newbase> <new patchset name>
> >     Creates a new patchset with root <newbase> by creating new patch
> > branches for each patch branch in <patchset>
> >     This command is useful if you need to keep the old patchset to
> > maintain an older version of your Debian package.
> 
> This means wiping out history again; in TopGit, you would ideally
> checkpoint all the branches within the patchset, then just tg update
> your branches. It's another matter that the former is now difficult to
> do easily.
It's not necessary to lose history. Creating a new patchset from a given 
patchset could be done in at least three different ways. Given that you've a 
patchset named patches-x.y.z/* and you'd like to create patches-x.y.z+1/* from 
this, you could

- checkout new patch branches from the top of the old patch branches and merge 
upstream into each of them

- recreate (like rebase) the full history of the patch branches on top of the 
new upstream

- collapse the branch history and create one commit per patch branch on top of 
the new upstream

In all three cases you're free to either keep or throw away the old patchset.

Best regards,

Thomas Koch, http://www.koch.ro