(char-before): Use compiler macro instead of byte-optimizer.
[elisp/gnus.git-] / README.branch
1 README.branch --- description of branches and tags. (DRAFT)
2 ========================================================================
3
4 Semi-gnus revision tree (1999-08-04)
5
6     vendor      personal    main trunk      public
7     branch      branches                    branches
8 ------------------------------------------------------------------------
9 qGnus 0.??  ------> Semi-gnus 6.0.0
10        :                        :
11        :        himi     <--  6.0.7
12        :    ichikawa <------  6.0.8
13        :       |                |
14        :     6.8.17 ---+        :
15        :       :       :        :
16        :               V        :
17        :         pgnus-ichikawa :
18        :               |        :
19        :             6.9.01     :
20        :               :        : (1999.07.02: turn into the public branch)
21        :               +-------->---------------+
22        :                        :               :
23        :                        :               V
24        :                        :            6.10.072 -----> t-gnus-6_12
25        :        akr      <--  6.2.3             :     \      (for FLIM 1.12,
26        :        shuhei-k <--  6.3.1                    \      stable)
27 Gnus 5.6.11 ------>           6.3.3                     \
28        :                      6.4.0 (for SEMI 1.5)       --> t-gnus-6_13
29        :                     (6.4.?)------> for SEMI 1.5     (for FLIM 1.13,
30        :                        |    \                        develop)
31        :                        |     \
32 (Synch with original Gnus       |      ---> for SEMI 1.6
33  was done many times, but    (6.4.?)------> 6.5 (for SEMI 1.7)
34  we don't include them.)        |        /    6.5.0
35        :                        |    (?)/
36        :                        |   <---
37        :                     (6.5.?)------> 6.6 (for SEMI 1.8, FLIM 1.7)
38        :                        |    \        6.6.0        stable branch
39        :                        |     \
40        :                        |      ---> 6.7 (for SEMI 1.8, FLIM 1.7)
41        :                        |             6.7.0        stable branch
42        :     sync               |               :
43 Gnus 5.6.22 ------>             |   feedback  6.7.7
44        :                     (6.7.8)<------   6.7.8
45        :                        |    \
46        :                        |     \
47        :                        |      ---> 6.8 (for SEMI 1.8, FLIM 1.8)
48        :        keiichi  <--  6.8.18          6.8.0        stable branch
49        :     sync               |               :
50 Gnus 5.6.45 ------>             |   feedback  6.8.20
51        :                     (6.8.20)<------  6.8.20
52        :                        |     \
53        :                        |      \
54        :                        |       --> 6.9 (for SEMI 1.11, FLIM 1.12)
55        :                        |             6.9.1        stable branch
56        :                        |   feedback  6.9.2
57        :                     (6.9.2)<---------6.9.2
58        :                        |    \
59        :                        |     \
60        :                        |       --> 6.10 (for SEMI 1.12, FLIM 1.12)
61        :                        |             6.10.1      develop branch
62        :                        :               :
63        :                        :               :
64 ========================================================================
65
66 The Vendor Branch
67
68     Original version of Gnus.
69     Each version has a tag of the form "qgnus-0_XY" or "gnus-5_X_Y" or
70     "pgnus-0_XY".
71
72     The branch tag for the vendor branch is "larsi".
73
74 The Main Trunk
75
76     Semi-gnus was developed on the main trunk until current branch-
77     management plan (See "Public Branches" below) was introduced.
78     Each version has a tag of the form "gnus-6_N2_N3". (0 < N2 < 5)
79
80 Public Branches
81
82     Current main stream of Semi-gnus development.
83
84     [Goal and policy of public branches here ???]
85
86     Each branch has a tag of the form "gnus-N1_N2" and each version
87     has a tag of the form "gnus-N1_N2_N3".
88
89     N1, N2, and N3 are changed by the following rules.
90
91     N1 will be incremented if any fundamental architecture change is
92     made.  Of cource, in this case, N2 and N3 will be reset to zero.
93
94     N2 will be incremented and new branch will be made if any "major
95     changes" are made.  "major changes" include API changes, major
96     version up of original Gnus, or synchronization with original Gnus
97     which requires design decision.
98
99     N3 will be incremented if some "minor changes" are made.  "minor
100     changes" include small bug fix or synchronization with original Gnus
101     without design decision.
102
103     The following branch tags are currently available.
104
105         for-semi-1_5    Semi-gnus for SEMI 1.5 API
106         for-semi-1_6    Semi-gnus for SEMI 1.6 API
107         gnus-6_5        Semi-gnus for SEMI 1.7 API
108         gnus-6_6        Semi-gnus for SEMI 1.8, FLIM 1.7 API (stable)
109         gnus-6_7        Semi-gnus for SEMI 1.8, FLIM 1.7 API (stable)
110         gnus-6_8        Semi-gnus for SEMI 1.8, FLIM 1.8 API (stable)
111         gnus-6_9        Semi-gnus for SEMI 1.11, FLIM 1.12 API (stable)
112         gnus-6_10       Semi-gnus for SEMI 1.12, FLIM 1.12 API (develop)
113         pgnus-ichikawa  (Main trunk of T-gnus)
114         t-gnus-6_12     T-gnus for SEMI 1.12/1.13, FLIM 1.12 API (stable)
115         t-gnus-6_13     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
116
117 Personal Branches
118
119     Some Semi-gnus developers have their own "personal branches".
120     Each personal branch may have its own goal and/or policy.
121     See README.${tag} (if exists) for information of each branch.
122
123     The following branch tags are curretly available.
124
125         himi            Owner: Miyashita Hisashi
126         ichikawa        Owner: Tatsuya Ichikawa
127         akr             Owner: Tanaka Akira
128         shuhei-k        Owner: Shuhei KOBAYASHI
129         keiichi         Owner: Keiichi Suzuki
130
131 "semi-gnus" Tag
132
133     Was assigned to the latest stable version.
134     Currently not maintained. (XXX: ???)
135
136 "for-semi-N1_N2" Tags
137
138     Were assigned to corresponding version of SEMI API N1.N2.
139     We will not use this convention any longer. (XXX: ???)