Updated.
[elisp/gnus.git-] / README.branch
1 README.branch --- description of branches and tags. (DRAFT)
2 ========================================================================
3
4 Public Branches
5
6     Current main stream of Semi-gnus development.
7     Semi-gnus developers share and maintain them.
8
9     Each public branch has a tag of the form "gnus-N1_N2" and each version
10     has a tag of the form "gnus-N1_N2_N3".
11
12     N1, N2, and N3 are changed by the following rules.
13
14     N1 will be incremented if any fundamental architecture change is
15     made.  Of cource, in this case, N2 and N3 will be reset to zero.
16
17     N2 will be incremented (and new branch will be created) if any "major
18     changes" are made.  The following cases are "major changes".
19       * API changes of FLIM/SEMI(or any other modules used by Semi-gnus).
20       * major version up of original Gnus.(e.g. Red/5.[34] -> Quassia/5.[56])
21       * synchronization with original Gnus which requires design decision.
22
23     N3 will be incremented if some "minor changes" are made.  The follwoing
24     cases are "minor changes".
25       * small bug fix.
26       * synchronization with original Gnus without design decision.
27
28     The following branch tags are currently available.
29
30         for-semi-1_5    Semi-gnus for SEMI 1.5 API
31         for-semi-1_6    Semi-gnus for SEMI 1.6 API
32         gnus-6_5        Semi-gnus for SEMI 1.7 API
33         gnus-6_6        Semi-gnus for SEMI 1.8, FLIM 1.7 API (stable)
34         gnus-6_7        Semi-gnus for SEMI 1.8, FLIM 1.7 API (develop)
35         gnus-6_8        Semi-gnus for SEMI 1.8, FLIM 1.8 or 1.9 API
36
37
38 The Vendor Branch
39
40     Original version of Gnus.
41     Each version has a tag of the form "qgnus-0_XY" or "gnus-5_X_Y".
42
43     The branch tag for the vendor branch is "larsi".
44
45
46 The Main Trunk
47
48     Semi-gnus was developed on the main trunk until current branch-
49     management plan (See "Public Branches" above) was introduced.
50     Now the main trunk is used only for the root of branches --- when
51     creating new branches, current develop branch is merged back to the
52     main trunk and new branches are created from there.
53
54     Each version has a tag of the form "gnus-6_N2_N3" (0 < N2 < 5) or
55     "semi-gnus-6_N2_N3" (N2 > ??).
56
57
58 "semi-gnus" Tag
59
60     Assigned to the latest stable version. (on the main trunk???)
61
62
63 "for-semi-N1_N2" Tags
64
65     Were assigned to corresponding version of SEMI API N1.N2.
66     We don't use this convention now.
67
68
69 Private Branches
70
71     Some Semi-gnus developers have their own "private branches".
72     Each private branch may have its own goal and/or policy.
73     See README.${tag} (if exists) for information of each branch.
74
75     The following branch tags are curretly available.
76
77         himi            Owner: Miyashita Hisashi
78         ichikawa        Owner: Tatsuya Ichikawa
79         akr             Owner: Tanaka Akira
80         shuhei-k        Codename: Shoe-gnus, Owner: Shuhei KOBAYASHI
81
82
83 ========================================================================
84 Semi-gnus revision tree (1998-07-30)
85
86     vendor      private     main trunk      public
87     branch      branches                    branches
88 ------------------------------------------------------------------------
89 qGnus 0.??  ------> Semi-gnus 6.0.0
90        :                        :
91        :        himi     <--  6.0.7
92        :        ichikawa <--  6.0.8
93        :                        :
94        :        akr      <--  6.2.3
95        :                        :
96        :        shuhei-k <--  6.3.1
97        :       (Shoe-gnus)      :
98 Gnus 5.6.11 ------>           6.3.3
99        :                      6.4.0 (for SEMI 1.5)
100        :                     (6.4.?)------> for SEMI 1.5
101        :                        |    \
102        :                        |     \
103 (Sync. with original Gnus       |      ---> for SEMI 1.6
104  was done many times, but    (6.4.?)------> 6.5 (for SEMI 1.7)
105  we don't include them here.)   |        /    6.5.0
106        :                        |    (?)/
107        :                        |   <---
108        :                     (6.5.?)------> 6.6 (for SEMI 1.8, FLIM 1.7)
109        :                        |    \        6.6.0        stable branch
110        :                        |     \
111        :                        |      ---> 6.7 (for SEMI 1.8, FLIM 1.7)
112        :                        |             6.7.0       develop branch
113        :     sync               |               :
114 Gnus 5.6.22 ------>             |   feedback  6.7.7
115        :                     (6.7.8)<------   6.7.8
116        :                        |    \
117        :                        |     \
118        :                        |      ---> 6.8 (for SEMI 1.8, FLIM 1.8
119        :                        |             6.8.0              or 1.9)
120        :     sync               :               :
121 Gnus 5.6.27 ------>             :             6.8.4
122        :                        :               :