You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+12-10
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,28 @@
1
1
## Contributing to this repository
2
2
3
-
The master branch (representing Core targets) is periodically refreshed from main AROS repository. This means the more the master branch diverges, the more costly it is to bring back changes from main AROS repository. The divergence is unavoidable, however rules are set in place to keep it under control over time. Additionally rules are introduced to manage cooperation of different projects on repository itself.
3
+
**VERSION: 1.3**
4
+
5
+
### General Considerations
4
6
5
-
**VERSION: 1.2**
7
+
The master branch (representing Core targets) is periodically refreshed from main AROS repository. This means the more the master branch diverges, the more costly it is to bring back changes from main AROS repository. The divergence is unavoidable, however rules are set in place to keep it under control over time. Additionally rules are introduced to manage cooperation of different projects on repository itself.
6
8
7
9
### Rules
8
10
9
11
#### Repository structure
10
12
11
-
***Do not delete/move/rename directories without a very good reason.** Doing so, mostly for "clean up" purposes, really brings high value, but always causes conflicts when applying patches. Always check with master branch maintainer before doing so.
12
-
13
-
***Avoid deleting/moving/renaming files.** This again causes patch conflicts so be sure to have a good reason to do so. Resolving some compilation problems can be such reason, but "general cleaning up" should not be used as justification.
13
+
***Do not delete/move/rename files and directories without a very good reason.** Doing so always causes conflicts when applying patches from main AROS repo. Always check with master branch maintainer before doing such changes.
14
14
15
15
***Consider creating pull requests to AROS repository (https://github.com/aros-development-team/) for changes committed to this repository.** This helps keep the divergence under control which is appreciated by master branch maintainer. This is not a hard requirement though.
16
16
17
17
***Remember that there are alternatives based on master branch**. Alternatives will try to limit the divergence with master branch by committing as much code as possible to master. This however can give impression that there is unused code in master branch. Always check alternatives before making any actions on such code.
18
18
19
-
***Do not use sub-modules and external repository linking.** Sub-modules causes problems with rebase flow and branch switching. The value they give is less than problems they create.
19
+
***Do not use sub-modules and external repository linking.** Sub-modules make rebase flow and branch switching a more complex and error-prone operation. If you need external codes in the repository, check how to proceed with master branch maintainer.
20
+
21
+
#### PRs / Commits / Pushes
20
22
21
-
#### Commits / Pushes
23
+
***PRs vs commit + push.** Changes to repository structure, ABI or public API or changes with far reaching effects (i.e. big update to frequently user library) go through PRs. All other can go through commit and push.
24
+
25
+
***Describe 'why' along with 'what' in commit messages.** Describing the reason behing the change, the seen and expected behavior, the bug condition etc. is an immense help to person in future reviewing a change and trying to understand why it is necessary.
22
26
23
27
***Do not push with force (-f, --force).** If git reports non forwardable changes, understand what caused this and fix the problem.
24
28
@@ -28,13 +32,11 @@ The master branch (representing Core targets) is periodically refreshed from mai
28
32
29
33
***Separate formatting changes.** If you are reformatting code, make it a separate commit so that formatting and actuall code changes are not mixed.
30
34
31
-
***Describe 'why' along with 'what' in commit messages.** Describing the reason behing the change, the seen and expected behavior, the bug condition etc. is an immense help to person in future reviewing a change and trying to understand why it is necessary.
32
-
33
35
#### Code format
34
36
35
37
***Use 4 spaces for indentation instead of tab.** Different editors interpret tab differently which over time causes the code to become unreadable when multiple people work on it, each with different tab settings.
36
38
37
-
***Use \r\n line ending and ISO-8859-15 file encoding.** Having same settings across different developers avoid unnecessary re-formating changes.
39
+
***Use ISO-8859-15 file encoding for source code.** Having same settings across different developers avoid unnecessary re-formating changes.
38
40
39
41
***Limit line length to 120 characters for code and comments. Limit line length to 80 characters for autodocs.** While 80 characters limits is no longer needed in 2020s, we are keeping it for backward compatibility with autodocs format which can be displayed on older hardware (Amigas).
0 commit comments