Skip to main content

Module lfs_bounded_push

Module lfs_bounded_push 

Source
Expand description

The auto-push’s bounded git push, preceded by the upload, its pre-check and its explanation. What: Run one bounded git push of the auto-push, preceded by the Git LFS upload when the repository has one. Why: The auto-push and its reconcile pushes publish refs, so they upload the LFS objects the pushed commits point to exactly as a typed git push does. The wrapper is the parent of both children and captures their output, so it owns the explanation: a missing git-lfs is refused before anything starts, a failed upload ends the attempt with the full explanation after the program’s own output, and the push is not started. The push carries no hook, and no process other than Git and git-lfs is started for this, none of them the wrapper.

In TS you’d write (pseudocode):

const failed = plan && await uploadBounded(plan); if (failed) return failed; return await runBoundedPush(pushCommand(git, args));

Functions§

run_push
What: Run git <arguments> (a push) as a bounded child, after the upload when the repository has LFS keys. Why: arguments[0] is push; what follows is its option region, which the pre-check and the plan read.