Skip to content

Commit c0c3626

Browse files
committed
contributing guide: mention expectations around force pushes and squashing
1 parent d4e917f commit c0c3626

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

CONTRIBUTING.md

+19-8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,25 @@ for a list of Miri maintainers.
1313

1414
[Rust Zulip]: https://rust-lang.zulipchat.com
1515

16+
### Pull review process
17+
18+
When you get a review, please take care of the requested changes in new commits. Do not amend
19+
existing commits. Generally avoid force-pushing. The only time you should force push is when there
20+
is a conflict with the master branch (in that case you should rebase across master, not merge), and
21+
all the way at the end of the review process when the reviewer tells you that the PR is done and you
22+
should squash the commits. For the latter case, use `git rebase --keep-base ...` to squash without
23+
changing the base commit your PR branches off of. Use your own judgment and the reviewer's guidance
24+
to decide whether the PR should be squashed into a single commit or multiple logically separate
25+
commits. (All this is to work around the fact that Github is quite bad at dealing with force pushes
26+
and does not support `git range-diff`. Maybe one day Github will be good at git and then life can
27+
become easier.)
28+
29+
Most PRs bounce back and forth between the reviewer and the author several times, so it is good to
30+
keep track of who is expected to take the next step. We are using the `S-waiting-for-review` and
31+
`S-waiting-for-author` labels for that. If a reviewer asked you to do some changes and you think
32+
they are all taken care of, post a comment saying `@rustbot ready` to mark a PR as ready for the
33+
next round of review.
34+
1635
### Larger-scale contributions
1736

1837
If you are thinking about making a larger-scale contribution -- in particular anything that needs
@@ -45,14 +64,6 @@ process for such contributions:
4564
This process is largely informal, and its primary goal is to more clearly communicate expectations.
4665
Please get in touch with us if you have any questions!
4766

48-
### Managing the review state
49-
50-
Most PRs bounce back and forth between the reviewer and the author several times, so it is good to
51-
keep track of who is expected to take the next step. We are using the `S-waiting-for-review` and
52-
`S-waiting-for-author` labels for that. If a reviewer asked you to do some changes and you think
53-
they are all taken care of, post a comment saying `@rustbot ready` to mark a PR as ready for the
54-
next round of review.
55-
5667
## Preparing the build environment
5768

5869
Miri heavily relies on internal and unstable rustc interfaces to execute MIR,

0 commit comments

Comments
 (0)