]> git.sur5r.net Git - glabels/blob - HACKING
Adding MAINTAINERS and HACKING files.
[glabels] / HACKING
1 ===============================================================================
2
3 Do NOT commit to this module without permission from a maintainer;
4 see the MAINTAINERS file for who they are.  You should discuss all
5 changes on the gLabels developers mail list:
6
7     glabels-devel@lists.sourceforge.net
8
9 To join the list visit:
10
11     https://lists.sourceforge.net/lists/listinfo/glabels-devel
12
13 The list is moderated for first time posters.
14
15 See below for additional guidelines.
16
17 ===============================================================================
18
19 ROADMAP
20 =======
21
22 See the TODO file in this directory.
23
24
25 BRANCHES
26 ========
27
28 gLabels will typically have 2 active branches: a stable branch and a
29 development branch.  A branch represents a series of releases with a
30 fixed major and minor version.  The minor version will be an even
31 number for a stable branch and will be an odd number for a development
32 branch.  For example the "2.2.5" release would be from a stable branch
33 and "2.3.5" would be a development release.
34
35 Stable branch
36 -------------
37
38 Some characteristics of a stable branch:
39
40 - Prerequisites are fixed for the lifetime of the branch.
41 - The primary purpose of releases within a branch is to fix bugs.
42 - Besides bug fixes, releases may also include new and updated translations,
43   updated documentation, and new label templates.
44 - Generally, no new features will be introduced by a release within a
45   stable branch unless it is necessary to fix a bug.  Such a fix should not
46   introduce new prerequisites.
47 - Nor will code be refactored unless it is necessary to fix a bug.
48 - The Git branch will be named glabels_major_minor.  E.g. "glabels_2_2".
49
50 Unstable/development branch
51 ---------------------------
52
53 Some characteristics of a development branch:
54
55 - Prerequisites are volatile and may change release to release.
56 - The primary purpose of releases is to introduce new features and
57   get them in the hands of testers.
58 - Features and file formats may be volatile and change release to
59   release.
60 - No attempt will be made to maintain backwards compatibility with
61   development releases.
62 - The development branch is maintained in the Git master branch.