Expand description
The node’s own merge queue (D68).
The bridge queues pull requests from somebody else’s forge. A node
has no pull requests; it has proposals, which are pushes to
refs/for/<branch>/<user>/<topic> admitted by the propose grant
(D53, D60). This is the reading that turns those refs into a round,
and the landing that writes the round’s result back where the log
decides.
Two things differ from the bridge’s composition, and both come from the same fact: here the log is the source of truth.
- A landing is real. It moves
refs/heads/<branch>, so it is anOpKind::SetRefcarrying the value the round started from as its compare-and-swapprev. A push that beat the round makes the landing fail rather than clobber. - The landing itself moves no git ref. The log leads and git
follows, which is the direction D21 fixed:
/api/queue/runwrites git’s ref after the round, CAS’d on the round’s base, andcrate::Platform::reconcile_git_refsrepairs anything that still lags at the next startup.
Structs§
- Proposal
- One proposal in a round.
- Proposal
Round - The proposals aimed at one branch of one repository, plus the base they are aimed at.
- RefLanding
- Lands by moving the branch the proposals were aimed at (D68).
Constants§
- QUEUE_
CHANNEL - The channel the node’s queue authors under.
Type Aliases§
- Scope
Source - Where a landing reads the scope it signs: this node’s id and a head its window still holds.