https://git.reactos.org/?p=reactos.git;a=commitdiff;h=02a19c314f7502674e59d…
commit 02a19c314f7502674e59d18ae8296173ad92b271
Author: Stanislav Motylkov <x86corez(a)gmail.com>
AuthorDate: Mon Jul 24 00:58:56 2023 +0300
Commit: GitHub <noreply(a)github.com>
CommitDate: Mon Jul 24 00:58:56 2023 +0300
[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
---
CONTRIBUTING.md | 16 ++++++++++++----
PULL_REQUEST_MANAGEMENT.md | 14 ++++++++++++++
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2792d14bdcb..d73b71200bb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -63,13 +63,19 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### 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.
- *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.
- *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]__.*
-- *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_commi…. 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_….
@@ -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/>
- 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>
[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/
[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/
+ [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
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[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
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE
diff --git a/PULL_REQUEST_MANAGEMENT.md b/PULL_REQUEST_MANAGEMENT.md
index 8d36bb7be76..2718ee0ea22 100644
--- a/PULL_REQUEST_MANAGEMENT.md
+++ b/PULL_REQUEST_MANAGEMENT.md
@@ -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
- Closing without providing a reason
- 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(a)email.com>`