@@ -41,12 +41,16 @@ installs it to a temporary directory, and runs the tests of that install.
4141Release checklist
4242=================
4343
44- * Review the open list of `issues <http://github.com/nipy/nibabel/issues >`_
44+ * Review the open list of `issues <http://github.com/nipy/nibabel/issues >`_ .
45+ Check whether there are outstanding issues that can be closed, and whether
46+ there are any issues that should delay the release. Label them !
4547
4648* Review and update the release notes. Review and update the :file: `Changelog `
47- file. Get a partial list of contributors::
49+ file. Get a partial list of contributors with something like ::
4850
49- git log "$@" | grep '^Author' | cut -d' ' -f 2- | sort | uniq
51+ git log 0.9.0.. | grep '^Author' | cut -d' ' -f 2- | sort | uniq
52+
53+ where ``0.9.0 `` was the last release tag name.
5054
5155 Then manually go over the *git log * to make sure the release notes are
5256 as complete as possible and that every contributor was recognized.
@@ -75,18 +79,36 @@ Release checklist
7579
7680 git tag -am 'First public release' 1.0.0
7781
78- * Branch to maintainance::
82+ * Now the version number is OK, push the docs to sourceforge with::
83+
84+ make upload-htmldoc-mysfusername
85+
86+ where ``mysfusername`` is obviously your own sourceforge username.
87+
88+ * Set up maintenance / development branches
89+
90+ If this is this is a full release you need to set up two branches, one for
91+ further substantial development (often called 'trunk') and another for
92+ maintenance releases.
93+
94+ * Branch to maintainance::
95+
96+ git co -b maint/1.0.0
7997
80- git co -b maint/1.0.0
98+ Set ``_version_extra`` back to ``.dev`` and bump ``_version_micro`` by 1.
99+ Thus the maintenance series will have version numbers like - say - '1.0.1.dev'
100+ until the next maintenance release - say '1.0.1'. Commit.
81101
82- Set ``_version_extra`` back to ``.dev`` and bump ``_version_micro`` by 1.
83- Commmit. Push.
102+ * Start next development series::
84103
85- * Start next development series::
104+ git co main-master
86105
87- git co main-master
106+ then restore ``.dev`` to ``_version_extra``, and bump ``_version_minor`` by 1.
107+ Thus the development series ('trunk') will have a version number here of
108+ '1.1.0.dev' and the next full release will be '1.1.0'.
88109
89- then restore ``.dev`` to ``_version_extra``, and bump ``_version_minor`` by 1.
110+ If this is just a maintenance release from ``maint/1.0.0 `` or similar, just
111+ tag and set the version number to - say - ``1.0.2.dev ``.
90112
91113* Make next development release tag
92114
@@ -96,11 +118,10 @@ Release checklist
96118 For example 'upstream/1.0.0.dev' means "development start
97119 for upcoming version 1.0.0.
98120
99- This tag is used in the Makefile rules to create development
100- snapshot releases to create proper versions for those. The
101- will name the last available annotated tag, the number of
102- commits since that, and an abbrevated SHA1. See the docs of
103- ``git describe `` for more info.
121+ This tag is used in the Makefile rules to create development snapshot
122+ releases to create proper versions for those. The version derives its name
123+ from the last available annotated tag, the number of commits since that, and
124+ an abbrevated SHA1. See the docs of ``git describe `` for more info.
104125
105126 Please take a look at the Makefile rules ``devel-src ``,
106127 ``devel-dsc `` and ``orig-src ``.
0 commit comments