Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When merging a PR into develop (our main integration branch), use a traditional merge commit instead of squashing, rebasing, and fast-forwarding.

Status

Discussion thread

Status

Accepted. Vote thread. Vote resultUnder discussion and nearing vote.

Who is Involved

Background/Motivation

...

Encourage developers to use as few or as many commits as they choose in their PRs, with the intent to most clearly communicate the reviewable progress reviewable progress of their work during PR review and for posterity. This means rebasing locally, adding/removing commits, and force-pushing are all still allowed, although these should be used only as only as necessary/helpful (e.g. when a new commit on on develop assists the PR or to correct noise/mistakes). If force-push is used, communicate it thoughtfully.

...

After a ~one week bake-in period, enforce new strategy with .asf.yaml:

# must be added to existing github section
# (do not create a new one)
github
: enabled_merge_buttons: merge: true squash: false rebase: false

If adopted, and after another ~week of bake-in, we might make further changes to our .asf.yaml, such as:

github:
  protected protected_branches:
    develop:
      required_linear_history: false
      required_signatures: true
    required_conversation_resolution: true

...