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.