aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorXue Fuqiao2015-11-15 09:35:50 +0800
committerXue Fuqiao2015-11-18 08:42:02 +0800
commit0b7d791d2799ce2e4477d222d14478a5fc96fbad (patch)
treeb28fcf5868bbd58853fab30c4a61e50e4f1ac28b /admin
parent20b043f97cdbde072b04469bd8f56b57301be34b (diff)
downloademacs-0b7d791d2799ce2e4477d222d14478a5fc96fbad.tar.gz
emacs-0b7d791d2799ce2e4477d222d14478a5fc96fbad.zip
Backport: Document the release process
* admin/notes/versioning: Add information about RC releases. * admin/release-process: Document the release process. * admin/authors.el (authors-ignored-files): * admin/README: Change FOR-RELEASE to release-process. * CONTRIBUTE: * admin/notes/bugtracker: Don't mention FOR-RELEASE. (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
Diffstat (limited to 'admin')
-rw-r--r--admin/README4
-rw-r--r--admin/authors.el2
-rw-r--r--admin/notes/bugtracker3
-rw-r--r--admin/notes/versioning12
-rw-r--r--admin/release-process53
5 files changed, 64 insertions, 10 deletions
diff --git a/admin/README b/admin/README
index 2286e354ac6..b7621ffb62a 100644
--- a/admin/README
+++ b/admin/README
@@ -12,9 +12,9 @@ what you do when using them.
12 12
13* Instructions and scripts used to prepare an Emacs release. 13* Instructions and scripts used to prepare an Emacs release.
14 14
15** FOR-RELEASE 15** release-process
16 16
17Living list of activities that must be completed before the next release. 17The release process used by GNU Emacs.
18 18
19** make-tarball.txt 19** make-tarball.txt
20 20
diff --git a/admin/authors.el b/admin/authors.el
index 3d7850af57d..9903218e2ba 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -267,7 +267,7 @@ Changes to files matching one of the regexps in this list are not listed.")
267 '("external-lisp" 267 '("external-lisp"
268 "lock" "share-lib" "local-lisp" 268 "lock" "share-lib" "local-lisp"
269 "noleim-Makefile.in" 269 "noleim-Makefile.in"
270 "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO" "todo" 270 "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "release-process" "TODO" "todo"
271 "MACHINES" "SERVICE" 271 "MACHINES" "SERVICE"
272 "README.unicode" "README.multi-tty" "TUTORIAL.translators" 272 "README.unicode" "README.multi-tty" "TUTORIAL.translators"
273 "NEWS.unicode" "COPYING.DJ" "Makefile.old" "Makefile.am" 273 "NEWS.unicode" "COPYING.DJ" "Makefile.old" "Makefile.am"
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker
index fb65bbe4330..3d6df03d5e7 100644
--- a/admin/notes/bugtracker
+++ b/admin/notes/bugtracker
@@ -140,8 +140,7 @@ you can add an element to gnus-posting-styles to do this automatically, eg:
140 140
141** To record a bug in the tracker without sending mail to the bug list. 141** To record a bug in the tracker without sending mail to the bug list.
142This can be useful to make a note of something discussed on 142This can be useful to make a note of something discussed on
143emacs-devel that needs fixing. In other words, this can be the 143emacs-devel that needs fixing.
144equivalent of adding something to FOR-RELEASE.
145 144
146To: quiet@debbugs.gnu.org 145To: quiet@debbugs.gnu.org
147[headers end] 146[headers end]
diff --git a/admin/notes/versioning b/admin/notes/versioning
index e422b22e432..ef11335de54 100644
--- a/admin/notes/versioning
+++ b/admin/notes/versioning
@@ -9,16 +9,20 @@ Emacs version numbers have the form
9"build" increments each time Emacs is built in the same location 9"build" increments each time Emacs is built in the same location
10(without cleaning) and isn't really part of the version. 10(without cleaning) and isn't really part of the version.
11 11
12bugfix releases increase "minor" by 1. 12Bugfix releases increase "minor" by 1.
13non-bugfix releases increase "major" by 1, and reset "minor" to 1. 13Non-bugfix releases increase "major" by 1, and reset "minor" to 1.
14(The division between bugfix and non-bugfix has not always been clear 14(The division between bugfix and non-bugfix has not always been clear
15historically.) 15historically.)
16 16
17Unreleased (development) versions have an extra "devel" component. 17Unreleased (development) versions have an extra "devel" component.
18This is a fairly meaningless number that may be unchanged for a long time. 18This is a fairly meaningless number that may be unchanged for a long time.
19It is normally 50. 19It is normally 50.
20When the release process starts, it changes to 90, 91, ... 20
21When the actual release is made, this component is removed. 21After we cut the release branch, we’ll make pretest and release
22candidate (RC) releases. For pretest releases, the "devel" component
23changes to 90, 91, ... When the first RC release is made, this
24component is removed. Normally, there is one RC release, unless an
25unexpected last-minute problem occurs.
22 26
23The development version for a new major release has "minor" = 0. 27The development version for a new major release has "minor" = 0.
24The development version for a new minor release has "minor" = that of 28The development version for a new minor release has "minor" = that of
diff --git a/admin/release-process b/admin/release-process
index 286b90ea528..4a0890f3e4b 100644
--- a/admin/release-process
+++ b/admin/release-process
@@ -1,7 +1,51 @@
1Tasks needed before the next release. 1This document describes the release process used by GNU Emacs.
2
3* RELEASE CYCLE
4
5Each release cycle will be split into two periods.
6
7** Phase one: development
8
9The first phase of the release schedule is the "heads-down" working
10period for new features, on the `master' branch and several feature
11branches.
12
13** Phase two: bugfixes
14
15Shortly before this phase, Emacs developers will be devoted to
16figuring out what features to include in the next release and what
17features to defer to a later release.
18
19At the beginning of this phase, a release branch called "emacs-NN"
20("NN" represents the major version number of the new Emacs release)
21will be cut from `master'.
22
23This phase is spent fixing bugs and eliminating undocumented new
24features on the "emacs-NN" branch.
25
26In parallel to this phase, `master' can receive new features, to be
27released in the next release cycle. From time to time, the master
28branches merges bugfix commits from the "emacs-NN" branch.
29
30* RELEASE-CRITICAL BUGS
31
32Emacs uses the "blocking bug(s)" feature of Debbugs for bugs need to
33be addressed in the next release.
34
35Currently, bug#19759 is the tracking bug for release of 25.1. Say
36bug#123 needs to be fixed for Emacs 25.1. Send a message to
37control@debbugs.gnu.org that says:
38
39 block 19759 by 123
40
41Change "block" to "unblock" to unblock the bug.
2 42
3* TO BE DONE SHORTLY BEFORE RELEASE 43* TO BE DONE SHORTLY BEFORE RELEASE
4 44
45** Make sure the Copyright date reflects the current year in the source
46files. See `admin/notes/years' for information about maintaining
47copyright years for GNU Emacs.
48
5** Make sure the necessary sources and scripts for any generated files 49** Make sure the necessary sources and scripts for any generated files
6are included in the source tarfile. (They don't need to be installed, 50are included in the source tarfile. (They don't need to be installed,
7so eg admin/ is fine.) 51so eg admin/ is fine.)
@@ -275,6 +319,13 @@ tips.texi
275variables.texi 319variables.texi
276windows.texi 320windows.texi
277 321
322* OTHER INFORMATION
323
324For Emacs's versioning scheme, see `admin/notes/versioning'.
325
326For instructions to create pretest or release tarballs, announcements,
327etc., see `admin/make-tarball.txt'.
328
278 329
279Local variables: 330Local variables:
280mode: outline 331mode: outline