|
| 1 | +## Pull Requests |
| 2 | + |
| 3 | +If you have a new feature in mind, please discuss the feature in an issue to ensure that your |
| 4 | +contributions will be accepted. |
| 5 | + |
| 6 | +1. Fork the repo and create your branch from `main`. |
| 7 | +2. If you've added code that should be tested, add tests. |
| 8 | +3. If you've changed APIs, update the documentation. |
| 9 | +4. Ensure the test suite passes with `cargo nextest run --all-features`. |
| 10 | +5. Run `cargo xfmt` to automatically format your changes (CI will let you know if you missed this). |
| 11 | + |
| 12 | +## Logically Separate Commits |
| 13 | + |
| 14 | +As far as possible, please try and make commits |
| 15 | +[atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention) and logically |
| 16 | +separate. We understand that GitHub's pull request model doesn't work well with "stacked diffs", so |
| 17 | +if your changes are complex, then a single PR with a series of commits is preferred. |
| 18 | + |
| 19 | +## Bisectable History |
| 20 | + |
| 21 | +It is important that the project history is bisectable, so that when regressions are identified we |
| 22 | +can easily use `git bisect` to be able to pinpoint the exact commit which introduced the regression. |
| 23 | +We'll land your commits with: |
| 24 | + |
| 25 | +- "Rebase and merge" if your commits are atomic and each commit passes CI. |
| 26 | +- "Squash and merge" if they are not. |
| 27 | + |
| 28 | +## Maintainers Editing Commits |
| 29 | + |
| 30 | +For efficiency reasons, maintainers may choose to edit your commits before landing them. The commits |
| 31 | +will still be credited to you, and the edits will be limited to reasonable changes that are in the |
| 32 | +spirit of the PR. (Think of the changes that the maintainers would have done anyway.) |
| 33 | + |
| 34 | +To make this easier, please check the box that allows maintainers to edit your branch: |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | +If maintainers need to make changes and that box is checked, then your PR can be marked as "merged" |
| 39 | +in the web UI. Otherwise, it will be marked as "closed". |
| 40 | + |
| 41 | +## License |
| 42 | + |
| 43 | +By contributing to `datatest-stable`, you agree that your contributions will be dual-licensed under |
| 44 | +the terms of the [`LICENSE-MIT`](LICENSE-MIT) and [`LICENSE-APACHE`](LICENSE-APACHE) files in the |
| 45 | +root directory of this source tree. |
0 commit comments