Skip to main content

run_real_git

Function run_real_git 

Source
pub fn run_real_git(
    real_git: &Path,
    arguments: &[OsString],
    overlay: &[(OsString, OsString)],
) -> Result<ChildOutcome>
Expand description

What: Run real Git as a child with inherited stdin, stdout and stderr, and wait. std::io::Result<T> is Result<T, std::io::Error>. Why: Callers that must do work after Git returns (post-commit policies, status notes) need the wrapper process to survive Git. The child shares the caller’s terminal and streams directly; nothing is buffered or copied. This path installs no signal handlers: a signal sent to the wrapper alone does not reach Git, exactly as with the TypeScript wrapper.

In TS you’d write (pseudocode):

async function runRealGit(realGit, args, overlay): Promise<ChildOutcome>;