From f05ec222ff50a4481a305558818c5b50e308e90a Mon Sep 17 00:00:00 2001 From: Michael Keller Date: Wed, 29 Mar 2023 11:42:27 +1300 Subject: [PATCH] Documentation: Add topic titles to CONTRIBUTING.md Add titles for the individual topics covered in CONTRIBUTING.md. One advantage of this is that it makes it possible to link to individual topics when providing feedback on pull requests. Signed-off-by: Michael Keller --- CONTRIBUTING.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d06c82609..26b2f371c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,12 +2,17 @@ # Contributing | Subsurface +## Introduction + It might be a good idea to join our [mailing list][1]. Conversation there is in English – even though this site (and Subsurface itself) are available in many languages, the shared language we all communicate in is English. Actually "Broken English" is just fine… :-) We also tend to have some developers hanging out in the `#subsurface` channel on [Freenode][2]. There are many ways in which you can contribute. We are always looking for testers who are willing to test the code while it is being developed. We especially need people running Windows and Mac (as the majority of the active developers are Linux people). We are also always looking for volunteers who help reviewing and improving the documentation. And very importantly we are looking for translators willing to translate the software into different languages. Our translations are centrally handled at [Transifex][3] – please sign up for an account there and then request to join the [Subsurface Team][4]. + +## Code Change Submissions + If you would like to contribute patches that fix bugs or add new features, that is of course especially welcome. If you are looking for places to start, look at the open bugs in our [bug tracker][5]. Here is a very brief introduction on creating commits that you can either send as [pull requests][6] on our main GitHub repository or send as emails to the mailing list. Much more details on how to use Git can be found at the [Git user manual][7]. @@ -34,10 +39,16 @@ If you want to change the commit message, `git commit --amend` is the way to go. Which creates a number of files that have names like `0001-Commit-title.patch`, which you can then send to our developer mailing list. + +## Developer Certificate of Origin (DCO) + When sending code, please either send signed-off patches or a pull request with signed-off commits. If you don't sign off on them, we will not accept them. This means adding a line that says "Signed-off-by: Name \" at the end of each commit, indicating that you wrote the code and have the right to pass it on as an open source patch. See: [Signed-off-by Lines][8] + +## Commit Messages + Also, please write good Git commit messages. A good commit message looks like this: Header line: explaining the commit in one line @@ -62,6 +73,9 @@ The preferred way to write a commit message is using [imperative mood][11], e.g. _Example with gitk_ + +## Changelog + Additionally when important changes to behaviors, fixes or new feature are introduced an entry must be added to `CHANGELOG.md` file. Always add new entries at the very top of the file above other existing entries. Use this layout for new entries: Area: Details about the change [reference thread / issue] @@ -84,6 +98,9 @@ Here is a (non exhaustive) list of Areas that can be used: * Printing * Profile + +## Coding Style + In order to make reviews simpler and have contributions merged faster in the code base, please follow Subsurface project's coding style and coding conventions described in the [CodingStyle][10] file. [1]: http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface