* Update plugins/hooks from branch 'stable-2.15'
to 01c3fb71412e2b0a532e7f9cae389765a8e982ca
- Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
Add submit hook
Module: Bind listeners in alphabetical order
Annotate RefUpdate and CommitReceived as Singleton
Reword documentation of ref-update and commit-received hooks
Improve hooks documentation structure
Change-Id: I5f5eed398e182c8542b4b53722d942fb2b6bde5a
- Add submit hook
The submit hook is invoked synchronously when a change is submitted. If
it returns a non-zero exit status, a MergeValidationException is thrown
and the submit is prevented.
This adds back the ability to block submit by a hook. Previously this
was possible with the ref-update hook until its purpose was changed and
only invoked on ref updates such as branch creation, deletion, or fast-
forward by direct push.
Change-Id: Ie4efb90df645ecac01638b23305dc2ffb547192e
- Module: Bind listeners in alphabetical order
Most of them are already in alphabetical order. Reorder the couple that
aren't.
Change-Id: I0722c357992bf855baa0a9b8997078036f28cdc8
- Annotate RefUpdate and CommitReceived as Singleton
These should be singletons so that they are not instantiated every
time a hook is executed.
Change-Id: I32e67a85c24138148c1cff97d76144030942930e
- Reword documentation of ref-update and commit-received hooks
There has been confusion about the purpose of these hooks. Rewrite
the documentation to hopefully make it clearer.
Change-Id: I86c80072d2d9f05c9d926f0a6a5014590af45b05
- Improve hooks documentation structure
Split synchronous and asyncronous hooks into separate sections, and move
the duplicated paragraphs about syncronous hook behavior into the top
of the syncronous hooks section.
Replace legacy section heading formatting (===== and ----- forms), which
only supports 2 levels, with newer formatting (starting the line with one
or more # marks) which supports further levels.
Add a table of contents.
Change-Id: Iacf7c44860ec4d77e44c9816fc04ea641a2c8b43
Gerrit Code Review
Gerrit is a code review and project management tool for Git based projects.
Objective
Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.
Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.
Documentation
For information about how to install and use Gerrit, refer to the documentation.
Source
Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.
Reporting bugs
Please report bugs on the issue tracker.
Contribute
Gerrit is the work of hundreds of contributors. We appreciate your help!
Please read the contribution guidelines.
Note that we do not accept Pull Requests via the Github mirror.
Getting in contact
The IRC channel on freenode is #gerrit. An archive is available at: echelog.com.
The Developer Mailing list is repo-discuss on Google Groups.
License
Gerrit is provided under the Apache License 2.0.
Build
Install Bazel and run the following:
git clone --recursive https://gerrit.googlesource.com/gerrit
cd gerrit && bazel build release
Install binary packages (Deb/Rpm)
The instruction how to configure GerritForge/BinTray repositories is here
On Debian/Ubuntu run:
apt-get update & apt-get install gerrit=<version>-<release>
NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.
On CentOS/RedHat run:
yum clean all && yum install gerrit-<version>[-<release>]
On Fedora run:
dnf clean all && dnf install gerrit-<version>[-<release>]
Use pre-built Gerrit images on Docker
Docker images of Gerrit are available on DockerHub
To run a CentOS 7 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]
To run a Ubuntu 15.04 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]
NOTE: release is optional. Last released package of the version is installed if the release number is omitted.