Skip to content

Commit ab24732

Browse files
committed
Update devguide for 3.6.0b1 and start of 3.7.
1 parent cef508c commit ab24732

File tree

4 files changed

+50
-52
lines changed

4 files changed

+50
-52
lines changed

committing.rst

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,16 @@ as follow::
413413
$ cd ../3.5
414414
$ hg up
415415
$ hg graft 2.7
416-
$ # switch to 3.x, merge, commit, and push everything
417-
$ cd ../3.x
416+
$ # switch to 3.6, merge and commit
417+
$ cd ../3.6
418418
$ hg up
419419
$ hg merge 3.5
420420
$ hg ci -m '#12345: merge with 3.5.'
421+
$ # switch to 3.x, merge, commit, and push everything
422+
$ cd ../3.x
423+
$ hg up
424+
$ hg merge 3.6
425+
$ hg ci -m '#12345: merge with 3.6.'
421426
$ hg push
422427

423428
Unless noted otherwise, the rest of the page will assume you are using the
@@ -458,25 +463,25 @@ Python version.
458463
Merging between different branches (within the same major version)
459464
------------------------------------------------------------------
460465

461-
Assume that Python 3.6 is the current in-development version of Python and that
462-
you have a patch that should also be applied to Python 3.5. To properly port
466+
Assume that Python 3.7 is the current in-development version of Python and that
467+
you have a patch that should also be applied to Python 3.6. To properly port
463468
the patch to both versions of Python, you should first apply the patch to
464-
Python 3.5::
469+
Python 3.6::
465470

466-
cd 3.5
471+
cd 3.6
467472
hg import --no-commit patch.diff
468473
# Compile; run the test suite
469474
hg ci -m '#12345: fix some issue.'
470475

471-
Then you can switch to the ``3.5`` clone, merge, run the tests and commit::
476+
Then you can switch to the ``3.7`` clone, merge, run the tests and commit::
472477

473-
cd ../3.6
474-
hg merge 3.5
478+
cd ../3.7
479+
hg merge 3.6
475480
# Fix any conflicts (e.g. ``hg revert -r default Misc/NEWS``); compile; run the test suite
476-
hg ci -m '#12345: merge with 3.5.'
481+
hg ci -m '#12345: merge with 3.6.'
477482

478483
If you are not using the share extension, you will need to use
479-
``hg pull ../3.5`` before being able to merge.
484+
``hg pull ../3.6`` before being able to merge.
480485

481486
.. note::
482487
Even when porting an already committed patch, you should *still* check the
@@ -488,29 +493,29 @@ If you are not using the share extension, you will need to use
488493
Porting changesets between the two major Python versions (2.x and 3.x)
489494
----------------------------------------------------------------------
490495

491-
Assume you just committed something on ``2.7``, and want to port it to ``3.5``.
496+
Assume you just committed something on ``2.7``, and want to port it to ``3.6``.
492497
You can use ``hg graft`` as follow::
493498

494-
cd ../3.5
499+
cd ../3.6
495500
hg graft 2.7
496501

497-
This will port the latest changeset committed in the 2.7 clone to the 3.5 clone.
502+
This will port the latest changeset committed in the 2.7 clone to the 3.6 clone.
498503
``hg graft`` always commits automatically, except in case of conflicts, when
499504
you have to resolve them and run ``hg graft --continue`` afterwards.
500505
Instead of the branch name you can also specify a changeset id, and you can
501506
also graft changesets from 3.x to 2.7.
502507

503508
On older version of Mercurial where ``hg graft`` is not available, you can use::
504509

505-
cd ../3.5
510+
cd ../3.6
506511
hg export 2.7 | hg import -
507512

508513
The result will be the same, but in case of conflict this will create ``.rej``
509514
files rather than using Mercurial merge capabilities.
510515

511-
A third option is to apply manually the patch on ``3.5``. This is convenient
516+
A third option is to apply manually the patch on ``3.6``. This is convenient
512517
when there are too many differences with ``2.7`` or when there is already a
513-
specific patch for ``3.5``.
518+
specific patch for ``3.6``.
514519

515520
.. warning::
516521
Never use ``hg merge`` to port changes between 2.x and 3.x (or vice versa).

devcycle.rst

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@ Branches
3131
''''''''
3232

3333
There is a branch for each *feature version*, whether released or not (e.g.
34-
2.7, 3.5). Development is handled separately for Python 2 and Python 3:
34+
2.7, 3.6). Development is handled separately for Python 2 and Python 3:
3535
no merging happens between 2.x and 3.x branches.
3636

3737
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.5`` branch is a
39-
descendant of the ``3.4`` branch.
38+
descendant of the previous feature version: for example, the ``3.6`` branch is a
39+
descendant of the ``3.5`` branch.
4040

4141
Therefore, each change should be made **first** in the oldest branch to which it
4242
applies and forward-ported as appropriate: if a bug must be fixed in both Python
43-
3.5 and 3.6, first fix it in ``3.5`` and then merge ``3.5`` into ``default``
44-
(which holds the future 3.6).
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).
4545

4646

4747
.. _indevbranch:
@@ -61,11 +61,11 @@ activity for further micro versions (3.3.1, 3.3.2, etc.).
6161
For versions 3.4 and before, this was conventionally done when the final
6262
release was cut (for example, 3.4.0 final).
6363

64-
.. note::
65-
For the 3.5 release we're trying something new. We're creating the 3.5
66-
maintenance branch at the time we enter beta (3.5.0 beta 1). This will
67-
allow feature development for 3.6 to occur alongside the beta and release
68-
candidate stabilization periods for 3.5.
64+
Starting with the 3.5 release, we create the release maintenance branch
65+
(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
67+
branch alongside the beta and release candidate stabilization periods
68+
for release 3.n.
6969

7070
.. _maintbranch:
7171

@@ -117,10 +117,12 @@ security patches have been applied to the branch.
117117
Summary
118118
-------
119119

120-
There are 6 open branches right now in the Mercurial repository:
120+
There are 7 open branches right now in the Mercurial repository:
121121

122-
- the ``default`` branch holds the future 3.6 version and descends from ``3.5``
122+
- the ``default`` branch holds the future 3.7 version and descends from ``3.6``
123123
(RM: Ned Deily)
124+
- the ``3.6`` branch holds bug fixes for 3.6.0 and future 3.6.x maintenance releases
125+
and descends from ``3.5`` (RM: Ned Deily)
124126
- the ``3.5`` branch holds bug fixes for future 3.5.x maintenance releases
125127
and descends from ``3.4`` (RM: Larry Hastings)
126128
- the ``3.4`` branch holds security fixes for future 3.4.x security releases
@@ -195,17 +197,6 @@ You **cannot** skip the peer review during an RC, no matter how small! Even if
195197
it is a simple copy-and-paste change, **everything** requires peer review from
196198
a core developer.
197199

198-
.. note::
199-
For the 3.5 release we're trying something new. At the point that we reach 3.5.0
200-
release candidate 1, the official release branch will no longer be hosted at
201-
``hg.python.org``. Instead, 3.5.0 rc 1 through final will be hosted
202-
by the 3.5 release manager on bitbucket.
203-
204-
Bugfixes for 3.5 should still be checked in to the 3.5 branch. However, if the
205-
core developer responsible for the bugfix feels it should be merged into 3.5.0, they
206-
will need to create a bitbucket "pull request" for this change. Any bugfixes not
207-
merged into 3.5.0 in this way will be automatically shipped with 3.5.1.
208-
209200
.. _final:
210201

211202
Final

faq.rst

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,10 @@ Simply use ``hg update`` to checkout another branch in the current directory::
318318

319319
$ hg branch
320320
default
321-
$ hg update 3.5
321+
$ hg update 3.6
322322
86 files updated, 0 files merged, 11 files removed, 0 files unresolved
323323
$ hg branch
324-
3.5
324+
3.6
325325

326326
Adding the ``-v`` option to ``hg update`` will list all updated files.
327327

@@ -343,11 +343,11 @@ There are two ways:
343343

344344
If you want to use the second way, you can do::
345345

346-
$ hg clone cpython py35
346+
$ hg clone cpython py36
347347
updating to branch default
348348
3434 files updated, 0 files merged, 0 files removed, 0 files unresolved
349349
$ cd py35
350-
$ hg update 3.5
350+
$ hg update 3.6
351351
86 files updated, 0 files merged, 11 files removed, 0 files unresolved
352352

353353
The current branch in a working copy is "sticky": if you pull in some new
@@ -796,14 +796,14 @@ You can also use ``hg resolve -am`` to mark all the conflicts as resolved.
796796
How do I make a null merge?
797797
'''''''''''''''''''''''''''
798798

799-
If you committed something (e.g. on 3.5) that shouldn't be ported on newer
799+
If you committed something (e.g. on 3.6) that shouldn't be ported on newer
800800
branches (e.g. on default), you have to do a *null merge*::
801801

802802
cd 3.x
803-
hg merge 3.5
803+
hg merge 3.6
804804
hg revert -ar default
805805
hg resolve -am # needed only if the merge created conflicts
806-
hg ci -m '#12345: null merge with 3.5.'
806+
hg ci -m '#12345: null merge with 3.6.'
807807

808808
Before committing, ``hg status`` should list all the merged files as ``M``,
809809
but ``hg diff`` should produce no output. This will record the merge without
@@ -842,10 +842,10 @@ a lot easier.
842842

843843
If more than one branch has multiple heads, you have to repeat these steps for
844844
each branch. Since this creates new changesets, you will also have to
845-
:ref:`merge them between branches <branch-merge>`. For example, if both ``3.5``
846-
and ``default`` have multiple heads, you should first merge heads in ``3.5``,
847-
then merge heads in ``default``, and finally merge ``3.5`` with ``default``
848-
using ``hg merge 3.5`` as usual.
845+
:ref:`merge them between branches <branch-merge>`. For example, if both ``3.6``
846+
and ``default`` have multiple heads, you should first merge heads in ``3.6``,
847+
then merge heads in ``default``, and finally merge ``3.6`` with ``default``
848+
using ``hg merge 3.6`` as usual.
849849

850850
In order to avoid this, you should *always remember to pull and update before
851851
committing*.

index.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ Status of Python branches
6666
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
6767
| Branch | Schedule | Status | First release | End-of-life | Comment |
6868
+==================+==============+=============+================+================+============================================================================+
69-
| default | :pep:`494` | features | *2016-12-16* | *2021-12-16* | The default branch is currently the future version Python 3.6. |
69+
| default | *TBD* | features | *TBD* | *TBD* | The default branch is currently the future version Python 3.7. |
70+
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
71+
| 3.6 | :pep:`494` | bugfix | *2016-12-16* | *2021-12-16* | For the beta and rc phases of the future 3.6.0, then maintenance for 3.6.x |
7072
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
7173
| 3.5 | :pep:`478` | bugfix | 2015-09-13 | *2020-09-13* | |
7274
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+

0 commit comments

Comments
 (0)