| Age | Commit message (Collapse) | Author |
|
Having to include --feature=build-server in basically all commands
that wasn't building eyeballs-githook got tiring quickly.
Instead, use workspaces, with a separate project for building
the githook. It means I also had to add a library common with
code shared by both githook and server.
|
|
To make a githook that can run on alpine images (using musl) they
need to be cross-compiled. Then it became apparent that the githook
binary was pulling in all the same dependencies as the server was.
This is not good, but apparently also not something Rust/Cargo has
figured out. RFC:s has been shutdown. workspace might be an option
but then I probably need to also add a "code shared by both githook
and server" library that both can link. Problem for another day.
|
|
|
|
|
|
hooks handle delete and fast forward rules.
|
|
Want to support any authentication for the git server, so use git
commiter as username for creating reviews instead of the local user
that logged in to git.
Also verify that pushed commits has a valid author in pre-receive.
This is tricky as pre-receive must do this check in the hook, because
pre-receive runs when before the objects are pushed so the server
can't read the commits, the hook must do this.
|
|
Use testdir to create directories to put test git in.
Use custom test method to find githook binary.
Stop using remote so that git repo doesn't try to fetch.
|
|
Pushing a commit to a new branch creates a review.
Each project has its own git directory, with githooks installed
that talkes with server process via unix sockets.
|