PageRenderTime 252ms CodeModel.GetById 248ms app.highlight 1ms RepoModel.GetById 0ms app.codeStats 1ms

/jEdit/tags/jedit-4-5-pre1/doc/release-procedure.txt

#
Plain Text | 88 lines | 64 code | 24 blank | 0 comment | 0 complexity | 424799fece8d4cce62381f41afce2872 MD5 | raw file
 1Release procedure of jEdit
 2
 31. Define a set of requirements for the next stable release.
 4
 5  Discuss and make a list of requirements. The results are put in a
 6  publicly visible file.
 7  (It maybe, TODO.txt in the repository, or a page in Wiki.)
 8
 9  To keep often releases, as a good practice, the requirements must be
10  readily achievable in some months. If it seems to take more than 3
11  months, some requirements should be postponed. One major improvement
12  is enough.
13
142. Work on the trunk, to achieve the listed but missing requirements.
15
16  Minor improvements or features are also welcome even if they are not
17  listed as requirements in step 1, unless it slows to achieve the
18  requirements.
19
203. Make a release branch from the trunk. (ex. "/branches/M.N.x")
21
22  To keep stabilizing the release, only the following changes are
23  allowed on the branch.
24    - Bumping up of the version number.
25    - Changes under "doc" directory.
26    - Merging of reviewed changes from the trunk or a separate branch.
27      See step 5 below for merging.
28
29  Anytime after making the branch, the step 1 of the next release can be
30  started.
31
324. Make a public preview build from the branch.
33
34  The preview build is announced on jedit-devel, jedit-users,
35  jedit-announce, with a clear notice saying it is for testing.
36
37  For this purpose, daily build can be used. Daily builds are provided
38  by Eric Berry (elberry), here.
39  http://www.tellurianring.com/projects/jedit-daily/
40
415. Receive bugs for preview builds, and fix them.
42
43  Basically, the fixes are first applied on the trunk. If it seems also
44  good for a release branch, it can be submitted into the Merge Requests
45  tracker.
46  http://sourceforge.net/tracker/?group_id=588&atid=1235750&status=1
47
48  If a fix can't be applied on trunk (for example, the target code
49  doesn't exist in the trunk), it can be applied to a separate branch
50  which is created from the target release branch.
51
52  When submitting a merge request, please make sure:
53    - to mention the complete set of revision numbers which should be
54      merged
55    - to set the target branch by "Group"
56 
57  If a merge request applies to multiple target branches, open separate
58  merge requests for each target branch and mention the sibling merge
59  requests in each other.
60
61  If a fix can't be merged cleanly by just running "svn merge ...", the
62  submitter can make another branch (called a backport branch) from a
63  stable branch to show how it can be merged. In this case, put the
64  branch name in the merge request.
65
66  The merge is done by another committer (reviewer) other than the
67  original committer of the fix. The fix is accepted only if
68    - the fix also works for the reviewer, and
69    - the reviewer is sure that the fix doesn't include unwanted changes
70  . If a fix was rejected, it can be proposed again with some
71  refinements made on the trunk or the backport branch.
72
73  This means each fix is reviewed by at least two persons. This reduces
74  possibility of unexpected breakages, and achieves the stability of the
75  release branch.
76
77  During this process, some more preview builds may be made periodically.
78
796. If no major bugs are reported against the preview build for the last
80   period, release from the branch as a stable release. (ex. M.N.0)
81
827. After a stable release, bug fix continue as same as the step 5.
83   If some fixes are merged from the trunk, make a patch release.
84   (ex. M.N.1, M.N.2, ...)
85
86
87Please send to jedit-devel@lists.sourceforge.net, if you find any issue
88about this procedure.