Skip to content

Seemingly contradictory guidance about force pushing #35

Open
@intgr

Description

@intgr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions