commit | c32894ec5f2caf34c3e16420b60a7adb4ee9c758 | [log] [download] |
---|---|---|
author | Shawn Pearce <sop@google.com> | Tue May 17 15:25:20 2016 -0400 |
committer | Shawn Pearce <sop@google.com> | Tue May 17 15:25:23 2016 -0400 |
tree | c7e40a2a38c7f28980c0c114b2190b277861fe8c | |
parent | db709f11ac027d6fb4c3b4b3f3c71d3726d5cb08 [diff] |
Fix RootedDocServlet generating hyperlinks Commit c8fac64291b8 ("Fix relative hyperlinks in Markdown") broke gerritcodereview.com and other RootedDocServlet use cases due to a misuse of the GitilesView for href generation. Pass through the actual file path read from the repository to the MarkdownToHtml for href link resolution. This avoids relying on weird corner cases in the GitilesView -> Markdown mapping like README.md or index.md. With all hrefs generated using / from the host root, the view path isn't very relevant. Add tests for the missing case of the GitilesView being ROOTED_DOC type and not PATH type. The ROOTED_DOC does not have a repositoryName property and this is what caused gerritcodereview.com to not render correctly. Change-Id: I63b47f1b2d25a5580c28134fa17517d540961c43
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 buck test
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
.
To run unit tests, run buck test
.
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.
Java code in Gitiles follows the [Google Java Style Guide] (https://google.github.io/styleguide/javaguide.html) with a 100-column limit.
Code should be automatically formatted using [google-java-format] (https://github.com/google/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/File.java
CSS in Gitiles follows the [SUIT CSS naming conventions] (https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md).
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