1 This is stolen totally from git by Junio C. Hamano. I like it,
2 so this is how we rock the main repository.
6 - Feature releases are numbered as vX.Y and are meant to
7 contain bugfixes and enhancements in any area, including
8 functionality, performance and usability, without regression.
10 - Maintenance releases are numbered as vX.Y.W and are meant
11 to contain only bugfixes for the corresponding vX.Y feature
12 release and earlier maintenance releases vX.Y.V (V < W).
14 - 'master' branch is used to prepare for the next feature
15 release. In other words, at some point, the tip of 'master'
16 branch is tagged with vX.Y.
18 - 'maint' branch is used to prepare for the next maintenance
19 release. After the feature release vX.Y is made, the tip
20 of 'maint' branch is set to that release, and bugfixes will
21 accumulate on the branch, and at some point, the tip of the
22 branch is tagged with vX.Y.1, vX.Y.2, and so on.
24 - 'next' branch is used to publish changes (both enhancements
25 and fixes) that (1) have worthwhile goal, (2) are in a fairly
26 good shape suitable for everyday use, (3) but have not yet
27 demonstrated to be regression free. New changes are tested
28 in 'next' before merged to 'master'.
30 - 'pu' branch is used to publish other proposed changes that do
31 not yet pass the criteria set for 'next'.
33 - The tips of 'master', 'maint' and 'next' branches will always
34 fast forward, to allow people to build their own
35 customization on top of them.
37 - Usually 'master' contains all of 'maint', 'next' contains all
38 of 'master' and 'pu' contains all of 'next'.
40 - The tip of 'master' is meant to be more stable than any
41 tagged releases, and the users are encouraged to follow it.
43 - The 'next' branch is where new action takes place, and the
44 users are encouraged to test it so that regressions and bugs
45 are found before new topics are merged to 'master'.