[DOCS] Update contributing rules and PR management (#4881)

- Add points regarding real name and e-mail requirements
- Replace old IRC links with the chat references
- Update PR management guidelines accordingly
This commit is contained in:
Stanislav Motylkov 2023-07-24 00:58:56 +03:00 committed by GitHub
parent 57e018acf6
commit 02a19c314f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 4 deletions

View file

@ -63,13 +63,19 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### Rules and Recommendations ### Rules and Recommendations
- *Use your __real name__ and __real email__.* We do not accept anonymous contributions! - *Use your __real name__ and __real email__.* We do not accept anonymous code contributions!
- Every commit that changes code or translations should have author's full legal name (in latin letters, diacritics allowed).
- It's recommended to have the same full name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) that matches one specified in commits.
- There is an exception for media changes, such as changes of art (wallpapers, themes, icons, sounds) and out-of-code documentation.
- In these specific cases it's allowed to use a nickname or alias as author's name, and it's recommended to have the same name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) matching one specified in commits.
- In any case the author must use a real e-mail address, this includes git commits (`user.email` setting) and GitHub [e-mail settings][GitHub Email Settings] - the checkbox "Keep my email addresses private" must be unchecked there.
- In order to *keep your privacy*, select appropriate "Primary email address" that will be applied to your commits in GitHub [e-mail settings][GitHub Email Settings].
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable. - *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
- *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed. - *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
- *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead. - *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
- *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system. - *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.* - *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel. - *Do not be afraid to ask questions.* Ask our developers in the [chat].
To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically). To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
@ -79,7 +85,7 @@ Finding a good project to start with can be a challenge, because when starting o
- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/> - Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
- Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project> - Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
- Ask for help on [IRC] - Ask for help in the [chat]
- Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125> - Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
[clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design [clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design
@ -90,12 +96,14 @@ Finding a good project to start with can be a challenge, because when starting o
[migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/ [migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/
[humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php [humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
[Pull requests]: https://help.github.com/articles/about-pull-requests/ [Pull requests]: https://help.github.com/articles/about-pull-requests/
[GitHub Profile Settings]: https://github.com/settings/profile
[GitHub Email Settings]: https://github.com/settings/emails
[tips for reviewing patches]: https://www.drupal.org/patch/review [tips for reviewing patches]: https://www.drupal.org/patch/review
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality [missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch [patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches [Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[Coding Style]: https://reactos.org/wiki/Coding_Style [Coding Style]: https://reactos.org/wiki/Coding_Style
[IRC]: https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels [chat]: https://reactos.org/wiki/Mattermost
[Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines [Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt [3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE [README.WINE]: /media/doc/README.WINE

View file

@ -14,3 +14,17 @@ In addition, in order to avoid coming off as rude to helpful contributors, pleas
- Asking the contributor to do unrelated work - Asking the contributor to do unrelated work
- Closing without providing a reason - Closing without providing a reason
- Merging with the intention to rewrite that code soon after - Merging with the intention to rewrite that code soon after
Before merging a PR, make sure it follows the [contributing rules](CONTRIBUTING.md#rules-and-recommendations), but more importantly:
- Make sure the author has specified a real e-mail in all PR commits
- If PR contains code or translations, make sure the author has not specified a nickname or alias, but a full legal name in all PR commits
- If PR contains media (wallpapers, themes, icons, sounds) or out-of-code documentation, make sure the author has specified the name or alias in all PR commits
- If PR contains mixed code with media changes, handle it as PR with code
- Important notes before using "Squash and merge" strategy on a PR:
- Make sure the author's name in GitHub profile matches one in commits. If this is not the case, ask the author to set it accordingly.
- If the author does not want to set the name in GitHub profile:
- "no squash merge" label needs to be added to a PR.
- Make sure every commit message is formatted correctly as in [.gitmessage](https://github.com/reactos/reactos/blob/master/.gitmessage).
- Finally in this case a PR has to be merged either using "Rebase and merge" strategy or manually.
- By pressing "Squash and merge" button in a PR you can make sure the author does not use no-reply e-mail -
under the commit message there will be a text label saying: `This commit will be authored by <address@email.com>`