Implement support for proc-receive hook
#4514 (closed) introduces the repository worker. Each repository has its own worker that is the only goroutine that writes into the repository. Pushes are currently writing the reference changes directly to disk without going through the worker or the write-ahead log. To make them support the single-writer and the write-ahead logging, we need to hook into pushes via the proc-receive
hook. The proc-receive
allow us to take over the reference updates, submit them to the write queue of the repository worker for committing.
As there are further dependencies on other work to manage the repository workers in the context of the whole Gitaly server, this issue is only about implementing support for hooking into the pushes via proc-receive
, parsing the payload and responding to the client.