Skip to main content

Module queue

Module queue 

Source
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 an OpKind::SetRef carrying the value the round started from as its compare-and-swap prev. A push that beat the round makes the landing fail rather than clobber.
  • The node moves no git ref itself. crate::Platform::reconcile_git_refs already treats a commit the log names and git does not as git being behind, and writes it. The log leads and git follows, which is the direction D21 fixed.

Structs§

Proposal
One proposal in a round.
ProposalRound
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§

ScopeSource
Where a landing reads the scope it signs: this node’s id and a head its window still holds.