[gimp] devel-docs: update further the devel docs.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] devel-docs: update further the devel docs.
- Date: Sat, 22 Jan 2022 22:06:01 +0000 (UTC)
commit 67a1d9f4d06a5419b16e91747bc3f302536f5aec
Author: Jehan <jehan girinstud io>
Date: Sat Jan 22 23:00:50 2022 +0100
devel-docs: update further the devel docs.
Add more links to other files after I reviewed they were still relevant.
The `gitlab-milestones.txt` in particular had to be updated because the
contents was outdated (though we still need to manage milestones, simply
now we are a bit more fine-grained).
devel-docs/README.md | 30 ++++++++++++++++++
devel-docs/gitlab-milestones.txt | 66 +++++++++++++++++++++++++++++-----------
2 files changed, 78 insertions(+), 18 deletions(-)
---
diff --git a/devel-docs/README.md b/devel-docs/README.md
index b6a5b16e3c..572ae95c72 100644
--- a/devel-docs/README.md
+++ b/devel-docs/README.md
@@ -221,10 +221,40 @@ repository.
Eventually we want to move this pipeline to Gitlab as well.
## Core development
+
+When writing code, any core developer is expected to follow:
+
+- GIMP's [coding style](/CODING_STYLE.md);
+- the [directory structure](#directory-structure-of-gimp-source-tree)
+- our [include rules](includes.txt)
+
### Newcomers
### Core Contributors
+### Maintainers
+
+GIMP maintainers have a few more responsibilities, in particular
+regarding releases and coordination.
+
+Some of these duties include:
+
+- setting the version of GIMP as well as the API version. This is
+ explained in [libtool-instructions.txt](libtool-instructions.txt).
+- Making a release by followng accurately the process described in
+ [release-howto.txt](release-howto.txt).
+- Managing dependencies: except for core projects (such as `babl` and
+ `GEGL`), we should stay as conservative as possible for the stable
+ branch (otherwise distributions might end up getting stuck providing
+ very old GIMP versions). On development builds, we should verify any
+ mandatory dependency is at the very least available in Debian testing
+ and MSYS2; we may be a bit more adventurous for optional dependencies
+ yet stay reasonable (a feature is not so useful if nobody can build
+ it). In any case, any dependency bump must be carefully weighed within
+ reason, especially when getting close to make the development branch
+ into the new stable branch. See also [os-support.txt](os-support.txt).
+- Maintain [milestones](gitlab-milestones.txt).
+
### Directory structure of GIMP source tree
GIMP source tree can be divided into the main application, libraries, plug-ins,
diff --git a/devel-docs/gitlab-milestones.txt b/devel-docs/gitlab-milestones.txt
index 6ea285a08d..a7bcf10d7c 100644
--- a/devel-docs/gitlab-milestones.txt
+++ b/devel-docs/gitlab-milestones.txt
@@ -6,14 +6,32 @@ GNOME gitlab issue tracker found at:
https://gitlab.gnome.org/GNOME/gimp
-Stable milestone
-----------------
+Stable milestones
+-----------------
+
+We will create one milestone per micro-point release, as well as one per
+minor-point release. For instance, if GIMP 2.10 is the stable release
+branch, we will have a `2.10.32` milestone as well as a `2.10`
+milestone.
+
+Add reports to the next micro-point milestone when you expect to
+fix/implement the bug or feature in this time frame; add it to the
+minor-point milestone if you expect (or hope) to fix/implement in one of
+the stable release yet doubt if will happen in the next release.
-The bugs on a stable milestone, e.g. on the 2.8 milestone if GIMP
-2.8 is the stable release, are bugs for which fixes will be accepted
-onto the stable branch.
+When planifying a new release, a maintainer must create the next
+micro-point milestone shortly before releasing and start moving any
+still opened report which could not be solved to this new milestone. For
+instance before releasing 2.10.32, create the milestone `2.10.34`, then
+go through all opened reports in `2.10.32` and move them to `2.10.34`
+(unless someone expects to fix some at the last minute). When closing a
+milestone, it must not contain any opened report.
-Reports for bugs that are fixed in the stable branch should have the
+The `2.10.32` milestone will be closed when GIMP 2.10.32 was released.
+The `2.10` milestone will be closed only when no point releases are
+expected in the 2.10 branch anymore.
+
+Reports that are fixed in the stable branch should have the relevant
stable milestone set. Usually such a fix is done in the development
branch and then cherry-picked to the stable branch.
@@ -21,21 +39,33 @@ branch and then cherry-picked to the stable branch.
Next stable milestone
---------------------
-The bugs/enhancement requests on the next stable milestone, e.g. on
-the 2.10 milestone if GIMP 2.8 is the stable release, are bugs or
-enhancement requests scheduled and planned for inclusion in the next
-stable version. This list is rather dynamic and will be altered during
-the execution of a development cycle.
+Similar rules apply to the next stable branch, for instance `3.0`
+minor-point milestone and individual `2.99.10` micro-point milestones.
+
+Note that any new feature must always be implemented in the next
+stable milestones first. Indeed we don't want regressions (new features
+popping in a 2.10 version then disappearing in 3.0). Yet they may be
+backported later if some developers are willing to work on it. When this
+happen, the report's milestone may be updated to the first version which
+gets the feature.
-If you fix a bug or implement a feature request for the next release,
-then please make sure that the milestone is set accordingly. This
-allows us to make a list of changes by looking at the resolved bugs on
-the milestone.
+If you fix a bug or implement a feature request for a release, then
+please make sure that the milestone is set accordingly. This allows us
+to make a list of changes by looking at the resolved bugs on the
+milestone.
Future milestone
----------------
-The bugs/enhancement requests on the Future milestone are things that
-the GIMP project eventually want to include in a future version, but
-in what version is not yet decided.
+The bugs/enhancement requests on the `Future` milestone are things that
+the GIMP project eventually wants to include in a future version, but in
+what version is not yet decided.
+
+Note that "decision" is a fluid notion. Indeed it mostly means that
+someone cared enough for it to implement it properly. Therefore all it
+takes is one of the developers making a point to work on a feature in a
+given time frame.
+Within such logic, the `Future` milestone is really more of a way to
+tell that an improvement is a good idea, hence we'd be happy to have it,
+yet nobody took on the task.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]