Description
The development documentation appears to contradict itself about force pushing.
On the one hand it states: https://rustic.cli.rs/dev-docs/contributing-to-rustic.html#release-early-and-often-also-applies-to-pull-requests
Please don’t force push commits in your branch, in order to keep commit history and make it easier for us to see changes between reviews.
Then just a little bit later it instructs not to make sequential commits, but prefer to squash/rebase. That requires force pushing:
If you want to fix an older commit of yours, or merge several commits into a single one (squash them), rebase interactively. We don’t want to have a commit history like this:
add stuff
fix typo in stuff
fix compilation
change stuff a bit
- and so on...
... So which is it? I can't "fix earlier commits" without force pushing.
And even disregarding the contradiciton, IMHO this is just instruction creep. Too many rules for contributors.
Since Rustic seems to use "squash and merge" in most cases, the commit history won't be retained after anyway merging. And GitHub allows diffing across force pushes. Does it really matter what workflow the contributor uses in their PR?
Also, for people who contribute to lots of open source projects, it's a PITA to keep track of the idiosyncrasies of each individual project's conventions/workflow, or to re-read the documentation every time.