Restrict long RevCommit.getShortMessage() to first line

Some commit messages in the wild have hundreds of lines in the message
body with no double LF to denote a break between paragraphs.  When
parsed using the traditional oneline view this creates a very disjoint
layout in Gitiles, as the entire message is presented interleaved with
other more well formed online commits.

Short messages are encouraged to be < 65 characters so an abbreviated
SHA-1 can be added to the start of the line by `git log --oneline`.
If the traditional short message is more than 80 characters (well
above the recommended length), display only the first line.

Change-Id: Iba6ad060c0e74a6a0ff37d84c9b4e2fbe9171732
1 file changed
tree: d8daa6ae14a11646036e14fde7484445a3a99709
  1. .settings/
  2. Documentation/
  3. gitiles-dev/
  4. gitiles-servlet/
  5. gitiles-war/
  6. lib/
  7. tools/
  8. .buckconfig
  9. .gitignore
  10. .gitmodules
  11. BUCK
  12. bucklets.defs
  13. COPYING
  14. fake_pom_deploy.xml
  15. README.md
  16. VERSION
README.md

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.

Building

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

Testing

  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.

Eclipse IDE

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.

Code Review

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