There are some guidelines you should follow when contributing to this project:
-
Every commit should represent a single logical change. Squash or separate one commit into several if necessary to achieve this.
-
Every commit should compile without commits after it. That is, if you send 5 commits, combinations of
1st
,1st + 2nd
,1st + 2nd + 3th
,1st + 2nd + 3th + 4th
and1st + 2nd + 3th + 4th + 5th
commits must compile. -
Every commit should have a proper name that describes what this commit changes and why this is necessary. Add detailed text as a second paragraph, unless the change is so trivial it requires no detailed explanation. See commit guidelines for details.
-
Before sending patches or opening a pull request, rebase your branch on
master
branch. Use eithergit fetch --all && git rebase origin/master master
orgit pull --rebase
when possible instead ofgit pull
's default behavior. -
If changes were requested, do not make new commits to implement those changes, unless a new logical change is necessary. Instead, amend commits and use other methods of changing history if necessary. See git-rebase .io for guidelines. If you already opened a pull request, feel free to force push your changes into your feature branch. If you already sent a patch instead, send a new patch as a "v2" patch. Consult git-send-email.io for details on how to do that (in particular, see step 4).
-
Make sure that the project passes tests and compiles without compiler warnings and clippy errors/warnings before opening a pull request/sending a patch.