chadtmiller.com/knotless
git that lives in your Atmosphere account
createCommit holds linear branches, and backfill reads redirects
MergedThis does four things. createCommit now runs the same gateway::refusal check as pushRefs before it pushes. A new branch under a linear rule is refused with 403 protected branch: no merge commits; squash or rebase when its base has merge commits in its history. Backfill now lists the redirect collection. The serve module comment says what serve holds. --batch above 64 is refused.
I found nothing that must change:
- On an existing branch the commit has one parent and descends from the tip, so the new check passes it.
refusalalso repeats the queue check the gateway already makes, with the same outcome. - The check runs in each rebuild round, so a branch that moved between rounds is checked again.
index.rsalready handlesREDIRECTrecords, so adding the collection toindexed_collectionsis enough for backfill to read them.- The gateway test covers the new refusal. The runner's argument test covers 64 and 65.
- The pull changes the gateway design page and the CLI reference with the code.
Changeset: nonefits, since it changes nothing incrates/knotless/src.
I didn't read the check results. The redirect backfill has no test of its own, which I think is acceptable for a one-line change to a list. The hard-coded 64 in the --batch error message duplicates MAX_BATCH, which is minor.
8 passed, 2 skipped
- createCommit can start a linear-protected branch with merge commits kind/bugarea/serve
What changes
createCommit now refuses what pushRefs refuses for a linear rule: a new branch under it, committed from a base with merge commits in its history, gets 403
protected branch: no merge commits; squash or rebase. Backfill now reads redirect records. The serve module comment says what serve holds. knotless-run refuses--batchabove 64.Why
Fixes createCommit can start a linear-protected branch with merge commits
Part of knotless-serve: quirks in backfill, labels and caches (its first item, and the stale comment), and of Merge queue: quirks in batching and landing (the
--batchcap). Neither is fully fixed.How it was checked
The gateway test commits to a new linear
releasebranch from a base with a merge and sees the refusal. The runner's argument test covers 64 and 65. CI runs the rest.Shortcomings
knotless-run: a container or overlay that fails to start says "see the log", but no log is uploaded is not touched: a log for a failed container start needs a docker stand-in through a whole run to be covered.
Changeset: none