diff -r 198554fa82c2 committing.rst --- a/committing.rst Sat Nov 21 15:30:19 2015 +1000 +++ b/committing.rst Mon Nov 23 13:48:56 2015 +0100 @@ -409,15 +409,15 @@ $ hg import --no-c http://bugs.python.org/url/to/the/patch.diff $ # review, run tests, run `make patchcheck` $ hg ci -m '#12345: fix some issue.' - $ # switch to 3.4 and port the changeset using `hg graft` - $ cd ../3.4 + $ # switch to 3.5 and port the changeset using `hg graft` + $ cd ../3.5 $ hg up $ hg graft 2.7 $ # switch to 3.x, merge, commit, and push everything $ cd ../3.x $ hg up - $ hg merge 3.4 - $ hg ci -m '#12345: merge with 3.4.' + $ hg merge 3.5 + $ hg ci -m '#12345: merge with 3.5.' $ hg push Unless noted otherwise, the rest of the page will assume you are using the @@ -458,25 +458,25 @@ Merging between different branches (within the same major version) ------------------------------------------------------------------ -Assume that Python 3.5 is the current in-development version of Python and that -you have a patch that should also be applied to Python 3.4. To properly port +Assume that Python 3.6 is the current in-development version of Python and that +you have a patch that should also be applied to Python 3.5. To properly port the patch to both versions of Python, you should first apply the patch to -Python 3.4:: +Python 3.5:: - cd 3.4 + cd 3.5 hg import --no-commit patch.diff # Compile; run the test suite hg ci -m '#12345: fix some issue.' -Then you can switch to the ``3.5`` clone, merge, run the tests and commit:: +Then you can switch to the ``3.6`` clone, merge, run the tests and commit:: - cd ../3.5 - hg merge 3.4 + cd ../3.6 + hg merge 3.5 # Fix any conflicts (e.g. ``hg revert -r default Misc/NEWS``); compile; run the test suite - hg ci -m '#12345: merge with 3.4.' + hg ci -m '#12345: merge with 3.5.' If you are not using the share extension, you will need to use -``hg pull ../3.4`` before being able to merge. +``hg pull ../3.5`` before being able to merge. .. note:: Even when porting an already committed patch, you should *still* check the @@ -488,13 +488,13 @@ Porting changesets between the two major Python versions (2.x and 3.x) ---------------------------------------------------------------------- -Assume you just committed something on ``2.7``, and want to port it to ``3.4``. +Assume you just committed something on ``2.7``, and want to port it to ``3.5``. You can use ``hg graft`` as follow:: - cd ../3.4 + cd ../3.5 hg graft 2.7 -This will port the latest changeset committed in the 2.7 clone to the 3.4 clone. +This will port the latest changeset committed in the 2.7 clone to the 3.5 clone. ``hg graft`` always commits automatically, except in case of conflicts, when you have to resolve them and run ``hg graft --continue`` afterwards. Instead of the branch name you can also specify a changeset id, and you can @@ -502,15 +502,15 @@ On older version of Mercurial where ``hg graft`` is not available, you can use:: - cd ../3.4 + cd ../3.5 hg export 2.7 | hg import - The result will be the same, but in case of conflict this will create ``.rej`` files rather than using Mercurial merge capabilities. -A third option is to apply manually the patch on ``3.4``. This is convenient +A third option is to apply manually the patch on ``3.5``. This is convenient when there are too many differences with ``2.7`` or when there is already a -specific patch for ``3.4``. +specific patch for ``3.5``. .. warning:: Never use ``hg merge`` to port changes between 2.x and 3.x (or vice versa). diff -r 198554fa82c2 devcycle.rst --- a/devcycle.rst Sat Nov 21 15:30:19 2015 +1000 +++ b/devcycle.rst Mon Nov 23 13:48:56 2015 +0100 @@ -40,8 +40,8 @@ Therefore, each change should be made **first** in the oldest branch to which it applies and forward-ported as appropriate: if a bug must be fixed in both Python -3.4 and 3.5, first fix it in ``3.4`` and then merge ``3.4`` into ``default`` -(which holds the future 3.5). +3.5 and 3.6, first fix it in ``3.5`` and then merge ``3.6`` into ``default`` +(which holds the future 3.6). .. _indevbranch: @@ -58,8 +58,8 @@ new :ref:`maintenance branch ` is created to host all bug fixing activity for further micro versions (3.3.1, 3.3.2, etc.). -For versions 3.4 and before, this was conventionally done when the final -release was cut (for example, 3.4.0 final). +For versions 3.5 and before, this was conventionally done when the final +release was cut (for example, 3.5.0 final). .. note:: For the 3.5 release we're trying something new. We're creating the 3.5 @@ -80,9 +80,9 @@ The only changes allowed to occur in a maintenance branch without debate are bug fixes. Also, a general rule for maintenance branches is that compatibility -must not be broken at any point between sibling minor releases (3.4.1, 3.4.2, -etc.). For both rules, only rare exceptions are accepted and **must** be -discussed first. +must not be broken at any point between sibling minor releases (3.5.1, etc.). +For both rules, only rare exceptions are accepted and **must** be discussed +first. Sometime after a new maintenance branch is created (after a new *minor version* is released), the old maintenance branch on that major version will go into @@ -115,10 +115,12 @@ Summary ------- -There are 5 open branches right now in the Mercurial repository: +There are 6 open branches right now in the Mercurial repository: -- the ``default`` branch holds the future 3.5 version and descends from ``3.4`` - (RM: Larry Hastings) +- the ``default`` branch holds the future 3.6 version and descends from ``3.5`` + (RM: Ned Deily) +- the ``3.5`` branch holds bug fixes for future 3.5.x maintenance releases + and descends from ``3.4`` (RM: Larry Hastings) - the ``3.4`` branch holds bug fixes for future 3.4.x maintenance releases and descends from ``3.3`` (RM: Larry Hastings) - the ``3.3`` branch holds security fixes for future 3.3.x security releases diff -r 198554fa82c2 faq.rst --- a/faq.rst Sat Nov 21 15:30:19 2015 +1000 +++ b/faq.rst Mon Nov 23 13:48:56 2015 +0100 @@ -174,7 +174,7 @@ git clone git://github.com/python/cpython The mirror's master branch tracks the main repository's default branch, -while the maintenance branch names (``2.7``, ``3.4``, etc) are mapped +while the maintenance branch names (``2.7``, ``3.5``, etc) are mapped directly. .. _git mirror: https://github.com/python/cpython @@ -271,6 +271,7 @@ $ hg branches default 93085:030fda7b1de8 2.7 93060:7ba47bbfe38d + 3.5 99283:4d5417444961 (inactive) 3.4 93082:5fd481150b35 (inactive) 3.3 93079:cda907a02a80 (inactive) 3.2 92975:eac54f7a8018 (inactive) @@ -282,9 +283,9 @@ $ hg branches default 93085:030fda7b1de8 - 3.4 93082:5fd481150b35 (inactive) + 3.5 99283:4d5417444961 (inactive) -This means all changesets in the "3.4" branch have been merged into the +This means all changesets in the "3.5" branch have been merged into the "default" branch (or any other branch, if such exists). @@ -317,10 +318,10 @@ $ hg branch default - $ hg update 3.4 + $ hg update 3.5 86 files updated, 0 files merged, 11 files removed, 0 files unresolved $ hg branch - 3.4 + 3.5 Adding the ``-v`` option to ``hg update`` will list all updated files. @@ -342,11 +343,11 @@ If you want to use the second way, you can do:: - $ hg clone cpython py34 + $ hg clone cpython py35 updating to branch default 3434 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd py34 - $ hg update 3.4 + $ cd py35 + $ hg update 3.5 86 files updated, 0 files merged, 11 files removed, 0 files unresolved The current branch in a working copy is "sticky": if you pull in some new @@ -795,14 +796,14 @@ How do I make a null merge? ''''''''''''''''''''''''''' -If you committed something (e.g. on 3.4) that shouldn't be ported on newer +If you committed something (e.g. on 3.5) that shouldn't be ported on newer branches (e.g. on default), you have to do a *null merge*:: cd 3.x - hg merge 3.4 + hg merge 3.5 hg revert -ar default hg resolve -am # needed only if the merge created conflicts - hg ci -m '#12345: null merge with 3.4.' + hg ci -m '#12345: null merge with 3.5.' Before committing, ``hg status`` should list all the merged files as ``M``, but ``hg diff`` should produce no output. This will record the merge without @@ -841,10 +842,10 @@ If more than one branch has multiple heads, you have to repeat these steps for each branch. Since this creates new changesets, you will also have to -:ref:`merge them between branches `. For example, if both ``3.4`` -and ``default`` have multiple heads, you should first merge heads in ``3.4``, -then merge heads in ``default``, and finally merge ``3.4`` with ``default`` -using ``hg merge 3.4`` as usual. +:ref:`merge them between branches `. For example, if both ``3.5`` +and ``default`` have multiple heads, you should first merge heads in ``3.5``, +then merge heads in ``default``, and finally merge ``3.5`` with ``default`` +using ``hg merge 3.5`` as usual. In order to avoid this, you should *always remember to pull and update before committing*. diff -r 198554fa82c2 patch.rst --- a/patch.rst Sat Nov 21 15:30:19 2015 +1000 +++ b/patch.rst Mon Nov 23 13:48:56 2015 +0100 @@ -118,7 +118,7 @@ your further contributions to Python. -.. _PSF license: http://docs.python.org/3.4/license.html#terms-and-conditions-for-accessing-or-otherwise-using-python +.. _PSF license: http://docs.python.org/3.5/license.html#terms-and-conditions-for-accessing-or-otherwise-using-python .. _contributor form: http://www.python.org/psf/contrib/ .. _Python Software Foundation: http://www.python.org/psf/ diff -r 198554fa82c2 setup.rst --- a/setup.rst Sat Nov 21 15:30:19 2015 +1000 +++ b/setup.rst Mon Nov 23 13:48:56 2015 +0100 @@ -53,9 +53,9 @@ If you want a working copy of an already-released version of Python, i.e., a version in :ref:`maintenance mode `, you can update your -working copy. For instance, to update your working copy to Python 3.4, do:: +working copy. For instance, to update your working copy to Python 3.5, do:: - hg update 3.4 + hg update 3.5 You will need to re-compile CPython when you do such an update. @@ -116,7 +116,7 @@ Debian, Ubuntu and other ``apt`` based systems, try to get the dependencies for the Python version that you're working on e.g.:: - $ sudo apt-get build-dep python3.4 + $ sudo apt-get build-dep python3.5 If that package is not available for your system, try reducing the minor version until you find a package that is available.