An open API service indexing awesome lists of open source software.

https://github.com/createchance/gitiles


https://github.com/createchance/gitiles

Last synced: 20 days ago
JSON representation

Awesome Lists containing this project

README

          

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](http://facebook.github.io/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
```

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`.

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/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 Style
----------

Java code in Gitiles follows the [Google Java Style Guide]
(https://google.github.io/styleguide/javaguide.html) with a 100-column limit.

CSS in Gitiles follows the [SUIT CSS naming conventions]
(https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md).

Code Review
-----------

Gitiles uses Gerrit for code review:
https://gerrit-review.googlesource.com/

Gitiles uses the ["git push" workflow][1] with server
https://gerrit.googlesource.com/gitiles. You will need a
[generated cookie][2].

[1]: https://gerrit-review.googlesource.com/Documentation/user-upload.html#_git_push
[2]: https://gerrit.googlesource.com/new-password

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
```