gateline self-update's body, factored out of the command action so it can be
driven directly against an arbitrary repo dir (tests, manual transcripts)
without going through resolveCodeRepo(import.meta.url) — which always
resolves to the checkout this module itself lives in.
Returns the process exit code the caller should use; never calls
process.exit itself.
gateline self-update's body, factored out of the command action so it can be driven directly against an arbitrary repo dir (tests, manual transcripts) without going throughresolveCodeRepo(import.meta.url)— which always resolves to the checkout this module itself lives in.Returns the process exit code the caller should use; never calls
process.exititself.