Skip to main content

resolve_check_name

Function resolve_check_name 

Source
pub fn resolve_check_name(name: &str, manifest: &Manifest) -> Named2
Expand description

amont run <check> — one check by name. None when there is no such check, which the caller turns into a usage error.

Lives here rather than in main.rs so registry::lookup stays inside the runtime, and so the hold decision is made once: a named check takes the index-fidelity hold only when it is a Stage::PreCommit check running in staged mode. A pre-push or commit-msg check invoked by name must never touch the working tree — nothing about a push is a staging operation. Resolve what amont run <name> means, exactly as hook.skip resolves a name — the rest of the tool taught ban-terms; making run demand the full id was a pointless second vocabulary. Ambiguity is an answer, not a guess: the two branch-pattern checks are different code at different stages.

Public because the CALLER needs the answer before anything else happens: main decides whether to synthesize push refs from the resolved name, and an ambiguous name must say so rather than fail on a missing upstream it was never going to use.