CONTRIBUTING.md (rakudo-2020.09) | : | CONTRIBUTING.md (rakudo-2020.10) | ||
---|---|---|---|---|
skipping to change at line 80 | skipping to change at line 80 | |||
* Indentation happens with four spaces | * Indentation happens with four spaces | |||
* Use uncuddled `else`, so use a newline between a closing curly brace and | * Use uncuddled `else`, so use a newline between a closing curly brace and | |||
the `else` keyword | the `else` keyword | |||
* Perl code (part of the build system) should `use strict; use warnings;` | * Perl code (part of the build system) should `use strict; use warnings;` | |||
and loosely follow [perlstyle](http://perldoc.perl.org/perlstyle.html). | and loosely follow [perlstyle](http://perldoc.perl.org/perlstyle.html). | |||
## Commit messages | ## Commit messages | |||
How to write [a good **and** useful commit message](https://chris.beams.io/posts /git-commit/). | How to write [a good **and** useful commit message](https://chris.beams.io/posts /git-commit/). | |||
Commit messages are where you tell the what, why and how of your commit to other s. | Commit messages are where you tell the what, why and how of your commit to other s. | |||
The subject/title of a commit should 50 or less characters ideally. The absolute | The subject/title of a commit should be 50 or less characters ideally. The absol ute | |||
maximum is 72. Titles usually will tell what you did. You should almost always | maximum is 72. Titles usually will tell what you did. You should almost always | |||
have a body except in the case of the most trivial changes. These style guidelin es | have a body except in the case of the most trivial changes. These style guidelin es | |||
are best practices, but use your judgment. You may want to fit 100 characters | are best practices, but use your judgment. You may want to fit 100 characters | |||
into the commit title to get in all the details, but `git` will cut it off if | into the commit title to get in all the details, but `git` will cut it off if | |||
the window is not wide enough, and github.com will truncate it at the end if it | the window is not wide enough, and github.com will truncate it at the end if it | |||
is too long. The commit body is where you can go into detail about these things, | is too long. The commit body is where you can go into detail about these things, | |||
the subject should be easy to read at a glance what you did. | the subject should be easy to read at a glance what you did. | |||
A good commit is one where months from now you be able to read | A good commit is one where months from now you be able to read | |||
this commit and understand what you did and why you did it. | this commit and understand what you did and why you did it. | |||
Don't make a commit that only says `Fix #130979` because when the time to do | Don't make a commit that only says `Fix #130979` because when the time to do | |||
the release changelog comes, someone will need to look up the ticket and then us | the release changelog comes, someone will need to look up the ticket and then | |||
ually wade through several replies on that ticket to figure out what | usually wade through several replies on that ticket to figure out what | |||
the problem was and at the end I'm often unsure what the ACTUAL problem was | the problem was and at the end we're often unsure what the **actual** problem wa | |||
s | ||||
that got fixed in the commit, not just the issue number. | that got fixed in the commit, not just the issue number. | |||
If somebody is trying to find a recent commit that affected, say, `infix:<xx>`, | If somebody is trying to find a recent commit that affected, say, `infix:<xx>`, | |||
would they be able to find it by searching through the subject and body for | would they be able to find it by searching through the subject and body for | |||
`xx`? | `xx`? | |||
The body should tell the reader: | The body should tell the reader: | |||
* **What** you did/changed | * **What** you did/changed | |||
* **Why** you did it | * **Why** you did it | |||
* Background info | * Background info | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 5 lines changed or added |