
* Update plugins/replication from branch 'stable-2.15' to 9547d76a375827d79804704dadf716f47d176f0d - Add missing log statement if replication was canceled Change-Id: Id06bae985cfdb000c66743ccd3c5d9f56d34d681 - When rescheduling due to in-flight push log also the in-flight task ID When a push operation was rescheduled due to an in-flight push we logged a line like: [79bda07a] Rescheduling replication to https://host/foo.git to avoid collision with an in-flight push. This log was already useful but it didn't tell us which push task was actually in-flight. Add the ID of the in-flight push task to the log: [79bda07a] Rescheduling replication to https://host/foo.git to avoid collision with the in-flight push [80ceb18b]. This information is especially useful when a task gets repeatedly rescheduled and we need to identify the root cause of that. (cherry picked from commit f585eba0d21be222404b871bfe7a2b11e578eb14) Change-Id: I7866f964cab1e4f479b0d7d62ae4aac3019fab4b - Make sure to always remove in-flight pushes When a push is finished successfully or fails due to an error we have to remove it from the map of in-flight pushes. Although this was done from a finally block, the same block performed a Repository.close() operation prior to the in-flight push removal. If the Repository.close() threw an exception the pool.notifyFinished() wouldn't be called and we would end up with a zombie in-flight push. Bug: Issue 10852 Change-Id: I8d5918d5271ba74ce12153f054503adaef155c5c (cherry picked from commit 6fcdcf98fe61e8c6258fb40967f0cff6b8c38fd4)
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 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.