From: Pieter de Bie Date: Tue, 03 Jun 2008 18:08:09 GMT Subject: Re: Maintaining two branches. Message-ID: <08056802-BBBC-4F1D-A1A6-2F8C381CDA2B@ai.rug.nl> In-Reply-To: <20080603163431.GA1244@old.davidb.org> On 3 jun 2008, at 18:34, David Brown wrote: > We have three branches of the code: > > - upstream - The upstream release versions, tracks outside git repo. > - external - Other external patches not included in the main git > repo. > - local - Our local development. > > For release reasons, we need to keep our local branch separate, but > normal > development needs to be done on a merge of 'external' and > 'local' (the tree > needs the merge of both just to build). Developers will generate > patches, > and maintainers will apply these patches to 'local'. You might do the same workflow that Git has with stable / master / next If there is a new upstream release, merge it into external. If you have patches you want to show to the outside, apply those patches to external. Then you can merge external into local. The trick is to never merge local into external. By going only one way (upstream --> external --> local), you'll never have to worry about having to separate the different patches. Your history will be displayed much nicer too. - Pieter