Skip to main content

harvestable_merges

Function harvestable_merges 

Source
pub fn harvestable_merges(
    repo: &Path,
    limit: usize,
) -> Result<Vec<String>, String>
Expand description

Two-parent merge commits along repo’s first-parent history, newest first: the population choir-bridge harvest replays (D27).

Exactly two parents because the differential adapter seats exactly three worktrees — parent a, parent b, merged — so an octopus merge has no seat for its third parent and is enumerated past rather than failed on. First-parent order for the same reason it is load-bearing in choir-queue’s corpus module: it lists the merges that landed on this branch and skips commits internal to the branches they merged, which is the population D23 cares about.

limit keeps only the most recent limit merges; 0 keeps them all. Replay order is the caller’s: oldest-first pays best with a held DifferentialSession, whose docs explain why.

§Errors

Git failing to spawn or exiting nonzero.