Clone this repo:


  1. 78f3016 Merge "Expand comments in cmd/checker/ and gerrit/" by Gal Paikin · 7 weeks ago master
  2. 92a667c Expand comments in cmd/checker/ and gerrit/ by Han-Wen Nienhuys · 2 months ago
  3. 9fb9751 Merge "cmd/checker: use query by scheme" by Han-Wen Nienhuys · 9 weeks ago
  4. b5f89e1 cmd/checker: use query by scheme by Han-Wen Nienhuys · 2 months ago
  5. f5f9bb8 Merge "gerrit: don't fetch content for deleted files" by Han-Wen Nienhuys · 2 months ago


This is a style verifier intended to be used with the Gerrit checks plugin.


  1. Install formatters:
go install
curl -o google-java-format.jar
  1. Obtain an HTTP password, and put it in testsite-auth. The format is username:secret.

  2. Register a checker

go run ./cmd/checker -auth_file=testsite-auth  --gerrit http://localhost:8080 \
  --language go --repo gerrit --register
  1. Make sure the checker is there
go run ./cmd/checker -auth_file=testsite-auth  --gerrit http://localhost:8080 \
  1. Start the server
go run ./cmd/checker -auth_file=testsite-auth  --gerrit http://localhost:8080


For simplicity of deployment, gerritfmt checker is stateless. All the necessary data is encoded in the checker UUID


  • handle file types (symlink) and deletions

  • more formatters: clang-format, typescript, jsformat, ... ?

  • isolate each formatter to run with a separate gvisor/docker container.

  • tests: the only way to test this reliably is to spin up a gerrit server, and create changes against the server.

  • Update the list of checkers periodically.


This currently runs the formatters without sandboxing. Critical bugs (heap overflow, buffer overflow) in formatters can be escalated to obtain the OAuth2 token used for authentication.

The currently supported formatters are written in Java and Go, so this should not be an issue.


This is not an official Google product