Add fast-forward-only PR merge style #267

Merged
stephen merged 1 commit from pr-merge-fast-forward-only into main 2026-09-10 16:16:06 +00:00
Owner

fjord-platform can only promote develop to main safely with Forgejo's fast-forward-only merge style, but fj pr merge could not request it. The API accepts Do: fast-forward-only, so this wires that style through the existing merge path.

What changed

  • Adds pr merge style fast-forward-only and maps it to Do: fast-forward-only.
  • Accepts default_merge_style: fast-forward-only and reads allow_fast_forward_only_merge for policy diagnostics.
  • Omits merge title and message fields for ff-only, and rejects explicit title/message locally because no merge commit is created.
  • Reports a non-fast-forward rejection as a branch that must be rebased onto the base and re-run after CI.
  • Documents the new style in the gh to fj mapping and records the API and verification evidence in REPORT-fj-fastforward.md.

Testing

env RUSTC_WRAPPER= cargo test fast_forward_only; env RUSTC_WRAPPER= cargo test merge_style; env RUSTC_WRAPPER= cargo run -- pr merge --help; local git ff-only positive and negative proof; env RUSTC_WRAPPER= hooks/pre-push.

fjord-platform can only promote develop to main safely with Forgejo's fast-forward-only merge style, but fj pr merge could not request it. The API accepts Do: fast-forward-only, so this wires that style through the existing merge path. ## What changed - Adds pr merge style fast-forward-only and maps it to Do: fast-forward-only. - Accepts default_merge_style: fast-forward-only and reads allow_fast_forward_only_merge for policy diagnostics. - Omits merge title and message fields for ff-only, and rejects explicit title/message locally because no merge commit is created. - Reports a non-fast-forward rejection as a branch that must be rebased onto the base and re-run after CI. - Documents the new style in the gh to fj mapping and records the API and verification evidence in REPORT-fj-fastforward.md. ## Testing env RUSTC_WRAPPER= cargo test fast_forward_only; env RUSTC_WRAPPER= cargo test merge_style; env RUSTC_WRAPPER= cargo run -- pr merge --help; local git ff-only positive and negative proof; env RUSTC_WRAPPER= hooks/pre-push.
Add fast-forward-only PR merge style
All checks were successful
ci / check (pull_request) Successful in 11m26s
ci / live-e2e (pull_request) Successful in 2m10s
ci / coverage (pull_request) Successful in 3m0s
bac5339a8a
stephen deleted branch pr-merge-fast-forward-only 2026-09-10 16:16:06 +00:00
Sign in to join this conversation.
No description provided.