Skip to content

Commit 666ac02

Browse files
LourensPoolcmaglie
authored andcommitted
Version 2 of CONTRIBUTING.md
1 parent d2fc624 commit 666ac02

File tree

1 file changed

+49
-12
lines changed

1 file changed

+49
-12
lines changed

Diff for: CONTRIBUTING.md

+49-12
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,60 @@
11
## Contributing guide
2-
A simple four step guide to consider when you want your pull request to be merged without a hassle. This guide mainly focusses on the proper use of Git. It has some overlap with the more general information found in the [Development Policy File](https://github.com/arduino/Arduino/wiki/Development-Policy).
3-
4-
### 1. Bugs and small enhancements
5-
To report a bug or a small enhancement please use the [issue tracker](http://github.com/arduino/Arduino/issues).
6-
7-
### 2. Larger changes
2+
This document serves as a checklist before contributing to this repository. It includes includes links to read up on if topics are unclear to you.
3+
4+
This guide mainly focuses on the proper use of Git. It has some overlap with the more general information found in the [Development Policy File](https://github.com/arduino/Arduino/wiki/Development-Policy).
5+
6+
### 1. Before using the issue tracker
7+
To report a bug or a small enhancement please use the [issue tracker](http://github.com/arduino/Arduino/issues). But check the following boxes before posting an issue:
8+
9+
- [ ] `Your issue is NOT a question about an Arduino sketch.` Sketch questions are handled on the [Arduino Forum](http://forum.arduino.cc/).
10+
- [ ] `Check if your issue has already been resolved in the` [hourly build](http://www.arduino.cc/en/Main/Software#hourly)
11+
- [ ] `Your issue is not a duplicate.` So search for similar open and closed issues and pull-requests.
12+
- [ ] `Make sure you are working on the right repository. See the table below.`
13+
14+
| Repositories | Projects |
15+
|---|---|
16+
|[Arduino](https://github.com/arduino/Arduino) | Arduino IDE, arduino.cc (but not the Arduino Playground), Library Manager |
17+
|[Arduino Playground](http://forum.arduino.cc/index.php?board=24.0) | This is a publicly editable wiki. Please either make the edit yourself or create a post |
18+
|[Arduino Forum](https://github.com/arduino/forum-issues) | Issues about the Arduino Forum |
19+
| [Libraries for Arduino IDE](https://github.com/arduino-libraries) | Changing libraries for the IDE |
20+
| [Arduino-builder](https://github.com/arduino/arduino-builder)| |
21+
|[Arduino Web Editor](https://github.com/arduino/arduino-create-agent) | |
22+
|[Arduino SAMD Boards](https://github.com/arduino/ArduinoCore-samd)|Zero, MKR1000, MKRZero, etc. |
23+
|[Arduino SAM Boards](https://github.com/arduino/ArduinoCore-sam)| Due |
24+
|[Arduino AVR Boards toolchain (avr-gcc)](https://github.com/arduino/toolchain-avr)| |
25+
|[Arduino's build of AVRDUDE](https://github.com/arduino/avrdude-build-script)||
26+
|Third party repository | for third party libraries, hardware packages or sketches |
27+
28+
### 2. Posting the issue
29+
When you have checked the previous boxes. Please consider the following points before posting the issue.
30+
31+
- [ ] `Describe the issue based on the behaviour you were expecting`
32+
- [ ] `Post complete error messages using markdown code fencing:` [Markdown Code Fencing Example](https://guides.github.com/features/mastering-markdown/#examples)
33+
- [ ] `Provide a full set of steps necessary to reproduce the issue`
34+
- [ ] `Demonstration code should be complete, correct and the minimum amount necessary to reproduce the issue`
35+
- [ ] `Library Manager submissions: make sure your library meets all the requirements listed in the` [Library Manager FAQ](https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ)
36+
37+
### 3. Pull Requests
838
Before starting to work on bigger topics like modifying the API or changes with backward compatibility trade-offs please discuss them in the [mailing list](https://groups.google.com/a/arduino.cc/forum/#!forum/developers) first.
939

10-
### 3. Commit messages
40+
### 4. Commit messages
1141
An easy to read pull request will speed up the merging process. Your commit messages need to be logically separate. And containing enough information on their own. When this is done consistently your pull request will have an easy to read log of changes.
1242

43+
Your commits need to be [atomic](https://www.freshconsulting.com/atomic-commits/) which allows the repository to remain flexible after merging.
44+
1345
If you did not read the following 7 points before or just want to fresh up. Please read up on them on this [website](https://chris.beams.io/posts/git-commit) by Chris Beams.
1446

1547
1. Separate subject from body with a blank line
1648
2. Limit the subject line (first line) to 50 characters
1749
3. Capitalize the subject line
1850
4. Do not end the subject line with a period `(.)`
1951
5. Use the imperative mood in the subject line.
20-
This should be in the written as giving an instruction for example "update getting started documentation" (it shows what the PR achieves when merging it)
52+
This should be in the written as giving an instruction for example "Fixed save-as bug" (it shows what the PR achieves when merging it)
2153
6. Wrap body at 72 characters
2254
7. Use the body to explain what, why and how
2355

56+
If your pull request fixes, closes or resolves an issue please reference it in the body with the following [syntax](https://help.github.com/articles/closing-issues-via-commit-messages/). Also see the last lines of the following example.
57+
2458
A general example with these 7 guidelines in mind is shown below (from the same website of [Chris Beams](https://chris.beams.io/posts/git-commit)):
2559
```
2660
Summarize changes in around 50 characters or less
@@ -52,14 +86,17 @@ Resolves: #123
5286
See also: #456, #789
5387
```
5488

55-
### 4. Rebasing pull requests
89+
### 5. Rebasing pull requests
5690
When different people are working on the Arduino project simultaneously, pull requests can go stale quickly. A "stale" pull request is one that is no longer up to date with the latest merges in the project. It needs to be updated before it can be merged.
5791

5892
Most often pull requests become stale when merge conflicts occur. This happens when two pull requests both modify similar lines in the same file and one gets merged, the unmerged request will now have a merge conflict and needs updating.
5993

6094
When your pull request is stale, you will need to rebase your branch on the current master branch before you can merge it without conflicts.
6195

62-
More information about rebasing can be found at the repository of edX, [here](https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request).
96+
More information about rebasing can be found at the repository of [edX](https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request).
97+
98+
### 6. Merged!
99+
When your pull request is merged please update the documentation if the changes require it:
63100

64-
### 5. Merged!
65-
If you followed the previous four steps. Your pull request will be merged faster!
101+
- [ ] Edit appropiate [Wiki pages](https://github.com/arduino/Arduino/wiki/_pages)
102+
- [ ] Submit an [issue report](https://github.com/arduino/Arduino/issues/new) requesting changes to the [arduino.cc reference pages](https://www.arduino.cc/en/Reference/HomePage)

0 commit comments

Comments
 (0)