Expand description
The manual-push candidate scope of one push: the commits and trees the destination lacks.
What:
The manual-push candidate scope of one git push: the commits and trees the destination lacks.
Why:
The manual-push policies (final-newline, forbidden-strings) scan the content a push publishes.
The incumbent (src/policy-engine/manual-push-lifecycle.ts) discovers the updates, bounds each by what its
destination already has, and hands the scan to the policy engine; a failure stops the push with exit 2.
In TS you’d write (pseudocode):
const updates = await probeManualPushUpdates({ gitPath, cwd, args });Structs§
- Manual
Push Failure - What: Why a push’s scope could not be established. Why: The lifecycle reports every such failure as a content-unavailable engine failure and stops the push.
Functions§
- manual_
push_ scope - What: Discover the updates of one push and the candidate scope they publish. Why: The whole chain runs before any policy reads content, so a failure in any step refuses the push with its diagnostic and no partial scan.
- pushed_
scope - What: Collect the commits and trees the candidate layer must list for a set of scopes. Why: Each commit is listed once even when several updates publish it, so the scan never repeats a delta.
- scopes_
of_ updates - What: The scope of every update of one push, in the order Git negotiated the updates. Why: Each update is bounded by the published tips of its own destination remote only.