commit | 22e1ac60efab50a991eed97c3063375ec5160d27 | [log] [download] |
---|---|---|
author | Shawn Pearce <sop@google.com> | Wed Sep 09 21:43:49 2015 -0700 |
committer | Shawn Pearce <sop@google.com> | Wed Sep 09 21:43:49 2015 -0700 |
tree | 5e8671dbd1dd3357ef26e3829d5f4dd9852fe1d4 | |
parent | 9be60227c5caf4eb767ac868aeab33d10904d365 [diff] |
Fix IllegalStateException if repository not found Deep links to files within a deleted or moved repository threw IllegalStateException due to ViewFilter.parseRevision accessing an unset ATTRIBUTE_REPOSITORY. This was caused by c709c4cbcf passing through missing repositories to support host index prefix matching. Check for the missing repository case and return null to force the ViewFilter to respond with 404. Change-Id: I75d05105c336fb9707707859921172e9a39f516e
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 https://github.com/facebook/buck.git cd buck ant sudo ln -s ${PWD}/bin/buck /usr/bin/buck cd /path/to/gitiles git submodule update --init buck build all
cd /path/to/repositories # Don't run from the gitiles repo. /path/to/gitiles/tools/run_dev.sh
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
.
If you'd like to use Eclipse to edit Gitiles, first generate a project file:
./bucklets/tools/eclipse.py --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.
Gitiles uses Gerrit for code review: https://gerrit-review.googlesource.com/
Gitiles uses the “git push” workflow with server https://gerrit.googlesource.com/gitiles. 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 \ https://gerrit-review.googlesource.com/tools/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 user.email foo@bar.com
Normally you will create code reviews by pushing for master:
git push origin HEAD:refs/for/master