@@ -10,35 +10,36 @@ The following is a set of rules for contributing to **Rucio** and its
10
10
packages. Use your best judgment, and feel free to propose changes to this
11
11
document.
12
12
13
- If you have questions, you can reach the core development team on our
14
- [ __ Mattermost__ ] ( mattermost.md ) channel, or send an email to our
15
- development mailing list
[ __ [email protected] __ ] ( mailto:[email protected] ) .
13
+ If you have questions, you can reach the development team on our
14
+ [ __ Mattermost__ ] ( mattermost.md ) channel.
16
15
17
16
## What should I know before I get started
18
17
19
- A contribution can be either be a ** patch** or ** feature** :
18
+ A contribution can be either be included in the ** next** major release or the
19
+ ongoing ** current** release line, e.g. ` release-33 ` This becomes relevant when
20
+ naming the branches of your contributions (See section 3) so the Rucio maintainers
21
+ can understand the targeted release.
20
22
21
- * ** Patches** include bugfixes and minor changes to the code and are included in
22
- patch releases usually made on a bi-weekly schedule.
23
- * ** Features** include major developments or potentially disruptive changes and
24
- are included in feature releases made multiple times a year.
23
+ * Larger feature developments, backwards-compatibility breaking changes, changes
24
+ to the database schema, significant changes to the REST interface, and similar
25
+ ** MUST** be targeted to the ** next** release line.
26
+ * Bugfixes, smaller backwards-compatbile changes to the REST interface, smaller
27
+ feature developments, and similar ** CAN** be targeted to the ** current** release
28
+ line.
25
29
26
30
The [ __ repository__ ] ( https://github.com/rucio/rucio/ ) consists of different
27
31
branches:
28
32
29
- * the ** master** branch includes the development for the next major version.
30
- * the ** release-…** branches include the patch/minor development of the
31
- releases.
32
-
33
- Release branches only exist for the currently maintained release
34
- versions. Hotfix branches are created on demand. Please communicate to the Rucio
35
- maintainers, if you wish to hotfix a previous release.
33
+ * the ** master** branch includes the developments for the next major release.
34
+ * the ** release-…** branches include the patch/minor developments of the
35
+ releases (Such as current and LTS releases). Release branches only exist for
36
+ the currently maintained releases (See the [ release policy] ( started/releasepolicy.md ) )
36
37
37
38
Generally all [ __ pull requests__ ] ( https://github.com/rucio/rucio/pulls ) are to
38
- be created against the Rucio ** master** branch. Features will end up in the
39
- upstream ** master ** only and patches are cherry-picked to the maintained
40
- releases if applicable. Release-specific changes are excluded from that rule and
41
- might be needed if e.g. cherry-picking to the last release was not successful .
39
+ be created against the Rucio ** master** branch. Pull requests named/targeted for
40
+ the ** next ** major release will end up in the upstream ** master ** only. Pull
41
+ requests named/targeted for the ** current ** release will be additionally
42
+ cherry-picked to the applicable release branch .
42
43
43
44
The following figure might help you with an overview:
44
45
@@ -105,16 +106,18 @@ number**.
105
106
Create a local branch that corresponds to the issue. To easily
106
107
identify the purpose of branches different keywords must be used:
107
108
108
- * Patch branches must be named ** patch-[ issue number] -[ short description] **
109
- * Feature branches must be named ** feature-[ issue number] -[ short description] **
109
+ * Contributions targeted to the ** current** release must be named
110
+ ** current-[ issue number] -[ short description] **
111
+ * Contributions targeted to the ** next** major release must be named
112
+ ** next-[ issue number] -[ short description] **
110
113
111
114
If you create these branches by hand please check the spelling because otherwise
112
115
the test automation might misidentify your branch. There are utility scripts to
113
116
fetch master and create these branches for you:
114
117
115
118
``` bash
116
- ./tools/create-patch -branch < unique issue number> ' <short_change_message>'
117
- ./tools/create-feature -branch < unique issue number> ' <short_change_message>'
119
+ ./tools/create-current -branch < unique issue number> ' <short_change_message>'
120
+ ./tools/create-next -branch < unique issue number> ' <short_change_message>'
118
121
```
119
122
120
123
### 4. Commit your changes
0 commit comments