finish: refuse or steer when the base requires signed commits and default_merge_style would mint an unsigned server-side merge commit #478
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#478
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #425 item 3.
finishhonors the target repo'sdefault_merge_style. A fast-forward-only or rebase style mints no merge commit, so on such a repo the "unsigned merge commit" problem cannot occur, and that is the state on this repo (every merge today landed with the default branch at the work commit's own sha). A repo whose base requires signed commits but whosedefault_merge_styleismergeorrebase-mergestill gets a server-side merge commit the forge signs with its own key or leaves unsigned.Ask: at finish time, when the base's branch protection sets
require_signed_commitsand the resolved merge style is one that mints a merge commit, either refuse with a one-line remedy (setdefault_merge_styletofast-forward-onlyorrebase, or pass a style) or steer to a style that mints none. No madtea-held key, per ADR 0013.Acceptance
default_merge_style=merge,finishdoes not silently produce a server-side merge commit; it refuses or steers, naming the setting.fast-forward-onlyandrebasethe behaviour is unchanged.Refs #425, #424, ADR 0013.