diff options
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/notes/versioning | 26 | ||||
| -rw-r--r-- | admin/versioning | 49 |
2 files changed, 26 insertions, 49 deletions
diff --git a/admin/notes/versioning b/admin/notes/versioning new file mode 100644 index 00000000000..e422b22e432 --- /dev/null +++ b/admin/notes/versioning | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | GNU EMACS VERSIONING -*- org -*- | ||
| 2 | |||
| 3 | Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html | ||
| 4 | |||
| 5 | Emacs version numbers have the form | ||
| 6 | |||
| 7 | major.minor[.devel].build | ||
| 8 | |||
| 9 | "build" increments each time Emacs is built in the same location | ||
| 10 | (without cleaning) and isn't really part of the version. | ||
| 11 | |||
| 12 | bugfix releases increase "minor" by 1. | ||
| 13 | non-bugfix releases increase "major" by 1, and reset "minor" to 1. | ||
| 14 | (The division between bugfix and non-bugfix has not always been clear | ||
| 15 | historically.) | ||
| 16 | |||
| 17 | Unreleased (development) versions have an extra "devel" component. | ||
| 18 | This is a fairly meaningless number that may be unchanged for a long time. | ||
| 19 | It is normally 50. | ||
| 20 | When the release process starts, it changes to 90, 91, ... | ||
| 21 | When the actual release is made, this component is removed. | ||
| 22 | |||
| 23 | The development version for a new major release has "minor" = 0. | ||
| 24 | The development version for a new minor release has "minor" = that of | ||
| 25 | the previous release. | ||
| 26 | |||
diff --git a/admin/versioning b/admin/versioning deleted file mode 100644 index da547ee94ca..00000000000 --- a/admin/versioning +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | GNU EMACS VERSIONING -*- org -*- | ||
| 2 | |||
| 3 | The version number scheme of Emacs, including how to determine when to | ||
| 4 | bump various components of the version number, has evolved over the | ||
| 5 | years. This file defines the current method, explains why it was | ||
| 6 | chosen, and lightly documents the previous schemes. It was prompted | ||
| 7 | by http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html. | ||
| 8 | |||
| 9 | Related info: | ||
| 10 | - [[file:FOR-RELEASE][FOR-RELEASE]] | ||
| 11 | - [[file:make-tarball.txt][make-tarball.txt]] | ||
| 12 | |||
| 13 | * what: MAJOR.MINOR | ||
| 14 | |||
| 15 | This has always been the case (see [[was]], below). MINOR is 1 or more, | ||
| 16 | usually, the exception being for pretest releases, where there is | ||
| 17 | an additional trailing ".ALPHA" (e.g., 24.3.95 prior to 24.4). | ||
| 18 | |||
| 19 | To determine any release's version, we follow this algorithm: | ||
| 20 | |||
| 21 | - If MAJOR-CHANGES, increment MAJOR and set MINOR to 1. | ||
| 22 | - Otherwise, increment MINOR. | ||
| 23 | |||
| 24 | where MAJOR-CHANGES is defined roughly as the union of: | ||
| 25 | |||
| 26 | - dropped support for IMPORTANT | ||
| 27 | - platforms (almost never happens) | ||
| 28 | - Emacs Lisp features | ||
| 29 | - non-programming features/packages | ||
| 30 | - IMPORTANT additions and changes | ||
| 31 | - Emacs Lisp features | ||
| 32 | - non-programming features/packages | ||
| 33 | |||
| 34 | and IMPORTANT is defined through discussion on the [[http://mail.gnu.org/archive/html/emacs-devel/][emacs-devel]] | ||
| 35 | mailing list and/or private arm-twisting (although this latter | ||
| 36 | method is somewhat discouraged :-D). | ||
| 37 | |||
| 38 | * why | ||
| 39 | |||
| 40 | People expect bumps in MINOR for "minor" changes. This typically | ||
| 41 | includes bugfixes, doc improvements, or fully-backward-compatible | ||
| 42 | additions and changes, only. | ||
| 43 | |||
| 44 | Anything else is actually IMPORTANT, to the user. [Actually, who | ||
| 45 | really knows what the user thinks? I certainly don't. --ttn] | ||
| 46 | |||
| 47 | * was | ||
| 48 | |||
| 49 | TODO (be sure to include "ad-hoc" :-D) | ||