fix(repos): madt_repos edit lacks fast-forward-only + rebase-explicit merge flags and mislabels allow_rebase_update #432
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#432
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?
Problem
Setting a repo to fast-forward-only merges is not expressible through
madt_repos edit. Standing up signed-commit enforcement across the sixfold-space repos, the merge-style config had to go out as rawmadt_api_call PATCH /repos/{owner}/{repo}.Three concrete gaps in the
madt_repos editmerge fields:allow_fast_forward_only_merge. There is no way to enable the fast-forward-only merge style. This is the only forge-side merge style that preserves an author signature, because it mints no new commit. So it is exactly what arequire_signed_commitsrepo needs.allow_rebase_explicit(rebase then create a merge commit). The full Gitea merge-style set is not covered.allow_rebase_updateis mislabeled. Its description reads "Allow fast-forward-only merging". Butallow_rebase_updateis the Gitea flag for "update a PR branch by rebase", a different setting. Reaching for ff-only, this wrong param looks correct right up until the merge behaves differently.Why it matters
require_signed_commitsplus PR merges only works with fast-forward-only (or a locally-signed merge). Any other server-side style mints an unsigned commit that the branch rule then rejects. Enabling signing on the org repos neededdefault_merge_style: "fast-forward-only"plusallow_fast_forward_only_merge: trueand the other styles off.madt_repos editcould not express that, so it went out as raw API.Fix
allow_fast_forward_only_mergeandallow_rebase_explicittomadt_repos edit.allow_rebase_updatedescription to its real meaning (update a PR branch by rebase), not fast-forward-only merging.default_merge_style: "fast-forward-only"pairs with signed-commit enforcement would help the next person.Related
madt_repos; same shape of MCP-surface gap, and it drove the same raw-API fallback.