4 #+title: Maintainer tasks
7 This document describes the tasks the Org-mode maintainer has to do
8 and how they are performed.
15 The release number for main releases look like this: =7.13=
17 Main releases are made whenever Org is in a state where the feature
18 set is consistent and we feel that the features that are implemented
19 is something we want to support in the future.
21 A major release turns the current state of the master branch into a
22 release. The release process is a single make command:
24 : make release TAG=7.13
28 The release number for minor releases look like this: =7.13.01=
30 Minor releases are small amends to main releases. Usually they fix
31 bugs discovered in a main release. Only the fix to the bug is
32 bundled into a release, without the main development work going on in
33 the master branch. Since the big fix will also be needed in the
34 master branch, usually the fix is made in master and then
35 cherry-picked into maint. When this is done, a release is made from
36 maint with this command:
38 : make fixrelease TAG=7.13.01
40 * Synchonization with Emacs
42 This is still a significant headache. Some hand work is needed here.
44 Emacs uses bzr, I cannot bring myself to switch from git to bzr for the
45 development version of Org-mode. So the way I have been doing things
48 1. I watch the Emacs diffs for changes made by the maintainers of
49 Emacs in the org-mode files in Emacs. Any changes that come up
50 there, I merge into the development version of Org-mode.
51 Occasionally I do not do this, if I do not agree with a change.
52 The changes go into Org /without/ a ChangeLog-like entry in the
53 commit message. The reason for this is that we will later generate
54 a ChangeLog file from our commit messages, and I do not want double
55 Change entries in the Emacs ChangeLog file.
57 2. When I have made a release (usually I wait for the minor releases
58 to stabilize), I copy org files into the Emacs repository. Yes, I
59 do not merge, I copy. This has been the source of some problems in
60 the past - but I have not had the patience to work out a better
63 Careful: Copy org.texi and orgcard.tex into the right places, and
64 also copy the lisp files with *two exceptions*: Do *not* copy
65 /org-colview-xemacs.el/ and /org-install.el/. The former does not
66 belong in Emacs. And the latter would actually be harmful because
67 Emacs generates its own autoloads. The Emacs distribution contains
68 an empty org-install.el, so that users can have =(require
69 'org-install)= in .emacs with no ill effects. So if you were to
70 copy org-install.el, you would overwrite that empty placeholder
73 3. Generate the ChangeLog entries
75 For this, I do in the org-mode git repository
77 : UTILITIES/make_emacs_changelog release_7.02.05..release_7.03.02
79 This will spit out the ChangeLog entries that need to go into the
80 ChangeLog file in the lisp/org directory in Emacs.