@@ -34,36 +34,26 @@ There is a branch for each *feature version*, whether released or not (e.g.
34
34
2.7, 3.6). Development is handled separately for Python 2 and Python 3:
35
35
no merging happens between 2.x and 3.x branches.
36
36
37
- In each of the 2.x and 3.x realms, the branch for a feature version is always a
38
- descendant of the previous feature version: for example, the ``3.6 `` branch is a
39
- descendant of the ``3.5 `` branch.
40
-
41
- Therefore, each change should be made **first ** in the oldest branch to which it
42
- applies and forward-ported as appropriate: if a bug must be fixed in both Python
43
- 3.6 and 3.7, first fix it in ``3.6 `` and then merge ``3.6 `` into ``default ``
44
- (which holds the future 3.7).
45
-
46
37
47
38
.. _indevbranch :
48
39
49
40
In-development (main) branch
50
41
----------------------------
51
42
52
- The ``default `` branch is the branch for the next feature release; it is
43
+ The ``master `` branch is the branch for the next feature release; it is
53
44
under active development for all kinds of changes: new features, semantic
54
- changes, performance improvements, bug fixes. As the name indicates, it
55
- is the branch :ref: `checked out <checkout >` by default by Mercurial.
45
+ changes, performance improvements, bug fixes.
56
46
57
47
At some point during the life-cycle of a release, a
58
48
new :ref: `maintenance branch <maintbranch >` is created to host all bug fixing
59
- activity for further micro versions (3.3.1, 3.3.2, etc.).
49
+ activity for further micro versions in a feature version (3.3.1, 3.3.2, etc.).
60
50
61
51
For versions 3.4 and before, this was conventionally done when the final
62
52
release was cut (for example, 3.4.0 final).
63
53
64
54
Starting with the 3.5 release, we create the release maintenance branch
65
55
(e.g. 3.5) at the time we enter beta (3.5.0 beta 1). This allows
66
- feature development for the release 3.n+1 to occur within the default
56
+ feature development for the release 3.n+1 to occur within the master
67
57
branch alongside the beta and release candidate stabilization periods
68
58
for release 3.n.
69
59
@@ -74,9 +64,11 @@ Maintenance branches
74
64
75
65
A branch for a previous feature release, currently being maintained for bug
76
66
fixes. There are usually two maintenance branches at any given time: one for
77
- Python 3.x and
78
- one for Python 2.x. At some point in the future, Python 2.x will be closed
79
- for bug fixes and there will be only one maintenance branch left.
67
+ Python 3.x and one for Python 2.x. Only during the beta/rc phase of a new
68
+ minor/feature release will there be three active maintenance branches, e.g.
69
+ during the beta phase for Python 3.6 there were master, 3.6, 3.5, and 2.7
70
+ branches open. At some point in the future, Python 2.x will be closed for bug
71
+ fixes and there will be only one maintenance branch left.
80
72
81
73
The only changes allowed to occur in a maintenance branch without debate are
82
74
bug fixes. Also, a general rule for maintenance branches is that compatibility
@@ -97,7 +89,8 @@ following the release of 3.5.1.
97
89
Security branches
98
90
-----------------
99
91
100
- A branch less than 5 years old but no longer in maintenance mode.
92
+ A branch less than 5 years old but no longer in maintenance mode is a security
93
+ branch.
101
94
102
95
The only changes made to a security branch are those fixing issues exploitable
103
96
by attackers such as crashes, privilege escalation and, optionally, other
@@ -117,9 +110,9 @@ security patches have been applied to the branch.
117
110
Summary
118
111
-------
119
112
120
- There are 7 open branches right now in the Mercurial repository:
113
+ There are 7 open branches right now in the Git repository:
121
114
122
- - the ``default `` branch holds the future 3.7 version and descends from ``3.6 ``
115
+ - the ``master `` branch holds the future 3.7 version and descends from ``3.6 ``
123
116
(RM: Ned Deily)
124
117
- the ``3.6 `` branch holds bug fixes for 3.6.0 and future 3.6.x maintenance releases
125
118
and descends from ``3.5 `` (RM: Ned Deily)
0 commit comments