Gitiles - A simple JGit repository browser

Gitiles is a simple repository browser for Git repositories, built on JGit. Its guiding principle is simplicity: it has no formal access controls, no write access, no fancy Javascript, etc.


Gitiles requires Buck to build.

sudo apt-get install ant
cd ${HOME}
git clone
cd buck
sudo ln -s ${PWD}/bin/buck /usr/bin/buck
cd /path/to/gitiles
git submodule update --init
buck build all
buck 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 buck test.

Eclipse IDE

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

./bucklets/tools/ --src

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.

Code Style

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

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