* Update plugins/replication from fefba17b04224e9346a50f6e66944142f4878179
to 94a465e0989ff8124aca3dca8e200aeb870cc9dd
- Merge "Decouple observable queue implementation from ReplicationQueue"
- Decouple observable queue implementation from ReplicationQueue
Prior to this change, AutoReloadRunnable used to depend on
ReplicationQueue, which was used just to observe the status of the queue
during the run() phase of the reloading.
Decouple reloading of configuration from specific queue implementations
by depending only on a way to observe the queue, rather than the queue
itself.
Incidentally, allow AutoReloadRunnable to be reused by implementations
that use a different queueing systems, or no queuing at all, such
as the pull-replication.
Change-Id: I589c5bf3fb49a53734ba3a991d08db33bc189d3e
- Merge "Move isSingleProjectMatch() to RemoteConfiguration interface"
- Merge "Make persistent task keys stable"
- Merge "Persist tasks before scheduling replication"
- Move isSingleProjectMatch() to RemoteConfiguration interface
The logic used to identify whether a configuration is related to a
single project as opposed to a family of project, is the same across
destination or source targets.
Provide a default isSingleProjectMatch method so that it can be
leveraged by both replication (for DestinationConfiguration) and by
pull-replication (for SourceConfiguration)
Change-Id: I1a366841e77755a1d17cfd9f68fe235a7a099f48
- Make persistent task keys stable
GSON was used to create json as the input for sha1 task keys, however
gson can order the json keys differently anytime. Use the values in a
specific order to create stable keys.
Bug: Issue 11760
Change-Id: I6900b5ddb3ba8ab7b5cf7803ae9dd551b5980a59
- Persist tasks before scheduling replication
Consolidate the replication firing paths and in doing so improve the
replicate-all path to persist events before scheduling them, thus
reducing the chance the task could be lost on server interruption. This
consolidation also has the side effect of adding replicate-all events to
the "beforeStartupEventsQueue" if they somehow happen to get fired
before replication is started.
Change-Id: Iaadbb89c4e5bc2f0eb751d26059868ba9cb7e9d7
Change-Id: I3b9da087264124d3b41224d4d754f4a1c44a566b
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 --recurse-submodules 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.