d0f1cd1b77
The read-only git helpers spawned `git` directly and only inspected the result exit code. When git is absent from PATH, Bun's spawn throws ENOENT (uv_spawn 'git') at launch, which escaped as an unhandled rejection and crashed the process (e.g. Windows without git, relying on WSL git). Translate a missing-binary launch failure into a non-zero GitCommandResult in the async git() wrapper and into a null degrade in the sync reftable ref readers, matching the existing non-zero-exit handling. Mutating/checked commands keep surfacing the clean "git is not installed." error. Fixes #6169