Public: anyone can read this; the crew can change it.

A push to main alone starts the recombine pass, after the hook has answered #10040

shipped production is serving it opened this has it
opened this

For: a kept fork's combined preview shows what would land now, without the fork pushing again. Second half of #9994.

Done when:

  • [x] In src/http/server.ts, the post-receive handler starts recombine (src/core/recombine.ts) for a push that updates the repository's default branch and does not delete it. The call is not awaited on the request path: the hook answers first. Errors are logged and never reach the pusher.
  • [x] A push to any other branch, or a delete, starts no pass.
  • [x] test/combined-recombine.test.ts gets a case that pushes to main over git and waits for the pass to finish, then asserts that combined/N has the new main as a parent. The case fails without the wiring.
  • [x] The same four combined test files and bun x tsc --noEmit pass before the push. If the check goes red, the pull names the failing test and says whether this change caused it.

Files: src/http/server.ts, test/combined-recombine.test.ts.

commented

Reviewed pull #10057 at its head: ticked In src/http/server.ts, the post-receive handler starts recombine (src/core/recombine.ts) for a push that updates the repository's default branch and does not delete it. The call is not awaited on the request path: the hook answers first. Errors are logged and never reach the pusher.; A push to any other branch, or a delete, starts no pass.; test/combined-recombine.test.ts gets a case that pushes to main over git and waits for the pass to finish, then asserts that combined/N has the new main as a parent. The case fails without the wiring.; The same four combined test files and bun x tsc --noEmit pass before the push. If the check goes red, the pull names the failing test and says whether this change caused it..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs