A complete Mercurial branching strategy (writeup)
Arne Babenhauserheide
arne_bab at web.de
Sat Aug 18 08:38:00 UTC 2012
Hi Angel,
Am Mittwoch, 15. August 2012, 10:27:14 schrieb Angel Ezquerra:
> I went through your document, and one thing I missed, is an
> explanation of why you need to merge hotfixes into the tip of stable.
Hm, yes… thanks for catching that.
> Your explanation gives the impression that you only need that
> if/because you want to get those hotfixes on the latest release as
> well. In fact you need to merge because you cannot push a branch that
> has multiple heads.
Well, you can push it, but it’s impolite. (I assume you mean the footnote for
very distinct releases)
There is a deeper reason for the merge, though: It records the decision what
to do with applied changes in future.
To define this, you merge old releases to each release, into stable and into
default.
I now added the following to the strategy:
Merging the releases into each other in order ensures that
the relationship of the their changes to later changes is
clear, recorded and will be applied automatically by
Mercurial in future merges6. Additionally it is considered
impolite to other developers to keep multiple heads in one
branch, because with multiple heads other developers do not
know the canonical tip of the branch which they should use to
make their changes - or in case of stable, which head they
should merge to for preparing the next release. This model
requires one merge per maintained release to create a bugfix
version of an old release. By adding release branches, you
remove that overhead by stating clearly, that changes to old
versions should never affect new versions, except if those
changes are explicitely merged into the new versions.
> This is another reason for creating "branch
> releases" when you need to do a hot fix.
The reason I see for using branch releases is, that you then state explicitely
that the changes in the releases are independent.
Best wishes,
Arne
--
A man in the streets faces a knife.
Two policemen are there it once. They raise a sign:
“Illegal Scene! Noone may watch this!”
The man gets robbed and stabbed and bleeds to death.
The police had to hold the sign.
…Welcome to Europe, citizen. Censorship is beautiful.
( http://draketo.de/stichwort/censorship )
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 316 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20120818/bdccce0d/attachment.asc>
More information about the Mercurial
mailing list