summaryrefslogtreecommitdiffstats
path: root/Help/dev
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-07-21 15:44:15 (GMT)
committerBrad King <brad.king@kitware.com>2017-07-21 15:51:30 (GMT)
commitdc8930787efd049a0795986f0afcda49518d6b0b (patch)
treeadd11f48749d9974493e79fe636c087c4b664e0f /Help/dev
parentd5030124bb13ba9419ffce73828e8e7fd778d2f4 (diff)
downloadCMake-dc8930787efd049a0795986f0afcda49518d6b0b.zip
CMake-dc8930787efd049a0795986f0afcda49518d6b0b.tar.gz
CMake-dc8930787efd049a0795986f0afcda49518d6b0b.tar.bz2
Help/dev: Add 'release' branch instructions to maintainer guide
Diffstat (limited to 'Help/dev')
-rw-r--r--Help/dev/maint.rst42
1 files changed, 42 insertions, 0 deletions
diff --git a/Help/dev/maint.rst b/Help/dev/maint.rst
index 889e4e3..bdfb3d0 100644
--- a/Help/dev/maint.rst
+++ b/Help/dev/maint.rst
@@ -37,6 +37,48 @@ command to integrate a merge request. Please check at least the following:
introduced. (Learn to tolerate spurious failures due to idiosyncrasies
of various nightly builders.)
+* Ensure that the MR targets the ``master`` branch. A MR intended for
+ the ``release`` branch should be based on ``release`` but still merged
+ to ``master`` first (via ``Do: merge``). A maintainer may then merge
+ the MR topic to ``release`` manually.
+
+Maintain Current Release
+========================
+
+The ``release`` branch is used to maintain the current release or release
+candidate. The branch is published with no version number but maintained
+using a local branch named ``release-$ver``, where ``$ver`` is the version
+number of the current release in the form ``$major.$minor``. It is always
+merged into ``master`` before publishing.
+
+To merge some ``$topic`` branch into ``release``, first create the local
+branch:
+
+.. code-block:: shell
+
+ git fetch origin
+ git checkout -b release-$ver origin/release
+
+Merge the ``$topic`` branch into the local ``release-$ver`` branch:
+
+.. code-block:: shell
+
+ git merge --no-ff $topic
+
+Merge the ``release-$ver`` branch to ``master``:
+
+.. code-block:: shell
+
+ git checkout master
+ git pull
+ git merge --no-ff release-$ver
+
+Publish both ``master`` and ``release`` simultaneously:
+
+.. code-block:: shell
+
+ git push --atomic origin master release-$ver:release
+
.. _`CMake Review Process`: review.rst
.. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake