Developer Guide


Gitiles requires Bazel to build.

You need to use Java for building Gitiles. You can install Bazel from the

  bazel build //...
  bazel test //...


cd /path/to/repositories  # Don't run from the gitiles repo.

This will recompile and start a development server. Open http://localhost:8080/ to view your local copy of gitiles, which will serve any repositories under /path/to/repositories.

To run unit tests, run bazel test ....

Eclipse IDE

If you'd like to use Eclipse to edit Gitiles, first generate a project file:


Import the project in Eclipse:

File -> Import -> Existing Projects into Workpace

The project only needs to be rebuilt if the source roots or third-party libraries have changed. For best results, ensure the project is closed in Eclipse before rebuilding.

Running/Debugging from Eclipse IDE

Running Gitiles from Eclipse requires setting the system property. The property value has to be the root folder of the Gitiles source code, for example:

Code Style

Java code in Gitiles follows the Google Java Style Guide with a 100-column limit.

Code should be automatically formatted using google-java-format prior to sending a code review. There is currently no Eclipse formatter, but the tool can be run from the command line:

java -jar /path/to/google-java-format-1.0-all-deps.jar -i path/to/java/

CSS in Gitiles follows the SUIT CSS naming conventions.

Code Review

Gitiles uses Gerrit for code review:

Gitiles uses the “git push” workflow with server You will need a generated cookie.

Gerrit depends on “Change-Id” annotations in your commit message. If you try to push a commit without one, it will explain how to install the proper git-hook:

curl -Lo `git rev-parse --git-dir`/hooks/commit-msg \
chmod +x `git rev-parse --git-dir`/hooks/commit-msg

Before you create your local commit (which you'll push to Gerrit) you will need to set your email to match your Gerrit account:

git config --local --add

Normally you will create code reviews by pushing for master:

git push origin HEAD:refs/for/master