Expand description
The real Git of a push, its query runner and the failure types of a push. What: The service’s Git for a push: the real Git, its working directory and environment, the command builder, the deadline-bound read-only query and the failure types of a push. Why: The push, its reconcile and the queries before them all start Git the same way, so none re-enters the wrapper and every Git child receives the same environment.
In TS you’d write (pseudocode):
const output = await nanoSpawn(gitPath, args, { cwd, env });Structs§
- Push
Attempt - What:
One push this invocation ran itself.
Why:
outputis Git’s interleaved output with one trailing line break removed, as the incumbent’snano-spawnoutputis; a successful push’s output is never recorded. - PushGit
- What: The real Git the service runs, where, and with which environment. Why: The service passes the complete environment in (the invocation’s variables with the overlay applied), and nothing is read from the process environment here.
Enums§
- Single
Flight Error - What: Why a push or one of its Git queries could not finish. Why: Every variant is a failure the service reports, and the commit stays saved.
Functions§
- git_
command - What: Build a real Git command with the given arguments, directory and environment. Why: Every coordination query and push starts Git this way, so none re-enters the wrapper.
- git_
output - What:
Run a read-only Git query and return its trimmed standard output.
Result<A, B>is either the output or a failure. Why: Any failed query is a coordination failure; it is never read as an answer. - run_
query - What: Run a read-only Git query that is ended only when it shows no sign of work, and capture its streams separately. Why: A query that never returns would hold the caller, and the service’s push behind it, for good.