Skip to main content

run_differential

Function run_differential 

Source
pub fn run_differential(
    repo: &Path,
    merge: &str,
    runner: &Path,
    command_file: &Path,
    state_dir: &Path,
) -> Result<DifferentialOutcome, String>
Expand description

Builds isolated worktrees for a speculative merge’s two parents and the merge itself, then invokes the explicit choir-differential runner.

This is run_differential_in wrapped in a session of its own, so the three worktrees are created and destroyed around this one observation and the command sees a pristine tree. That is the right shape for a speculative train, where each merge is checked once, and it is the escape hatch for an operator re-checking a flagged interaction without the previous observation’s build output present.

§Errors

As run_differential_in, plus a failure to clean the worktrees up.