Update git submodules

* Update plugins/replication from branch 'master'
  to 08f01cbead9360217d0f56b1b21894db0a8a4159
  - Merge branch 'stable-3.1'
    
    * stable-3.1:
      Fix log statement formatting
      GerritRestApi: Use UTF_8 from StandardCharsets instead of Guava
      Fix NPE in PushResultProcessing
      Fix start --wait to track in-flight collisions and to not fail
      Improve URLmatching to match real Urls
      Convert PushResultProcessing to an interface
      ReplicationQueue: Revert back from Flogger to slf4j logging
    
    The change "Revert back from Flogger to slf4j logging" is omitted from
    this merge. Since change I0d18f8931 which was submitted earlier on the
    master branch, Flogger logging is fixed.
    
    Change-Id: Idb497116ee621b2fc2e984d1be679412c002fb48
    
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      Fix log statement formatting
    
    Change-Id: I199d1fbe595cf70ec7d810447c1d2a19241ba9e0
    
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      Fix log statement formatting
    
    Change-Id: I57cee891b7610fdaf7ef37b2fe1cf11b3010157a
    
  - Fix log statement formatting
    
    Change-Id: Ib75fca0345a1ead726fe63f62b9949f6931cf9b2
    
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      GerritRestApi: Use UTF_8 from StandardCharsets instead of Guava
      Fix NPE in PushResultProcessing
      Fix start --wait to track in-flight collisions and to not fail
      Improve URLmatching to match real Urls
      Convert PushResultProcessing to an interface
    
    Change-Id: I623b58397d4ae9b9cc6c7038c992225eb33bc3b7
    
  - GerritRestApi: Use UTF_8 from StandardCharsets instead of Guava
    
    Change-Id: I777373899e7abc64bf81d5ee5c4c711100a433dc
    
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      Fix NPE in PushResultProcessing
      Fix start --wait to track in-flight collisions and to not fail
      Improve URLmatching to match real Urls
      Convert PushResultProcessing to an interface
    
    Change-Id: I35f258fd3200054d2c114fea4ddea79fcbc9ddd4
    
  - Fix NPE in PushResultProcessing
    
    The PushOne code passes a null to the notifier on cleanup when it
    encounters unknown states and this null gets passed all the way to
    PushResultProcessing which previously would NPE on it. Handle the null
    by outputting an "unknown" instead of crashing.
    
    Change-Id: I107d964a33349aaa5d6ae9aca68aab2889689155
    
  - Fix start --wait to track in-flight collisions and to not fail
    
    Previously when an in-flight collision occurred on a push that the
    'start --wait' command  was waiting for, the command would terminate
    with an error (and if it weren't for an NPE it would stop waiting
    prematurely). This was happening because PushOne is not tracking
    collisions resulting in its cleanup code assuming there was a failure.
    Fix this by tracking the collision in PushOne and skipping the cleanup
    in this case.
    
    Ironically, the NPE in change I107d964a33349aaa5d6ae9aca68aab2889689155
    was preventing the start command from receiving the premature
    termination on the collision, but it was not preventing the error. Thus
    this fix should get merged before fixing the NPE to avoid a worse
    scenario.
    
    Change-Id: Ibf1ca624739205f6f92e097213828faf29de9300
    Bug: Issue 12719
    
  - Improve URLmatching to match real Urls
    
    Previously the UrlMatch string needed to match the templated value in
    the replication.config file, now it can additionally match a real URL
    with the project name already in it.
    
    Change-Id: Ib766f162a9f9106b7763ed26347b4639a9041d6d
    
  - Convert PushResultProcessing to an interface
    
    Instead of being an abstract class with methods that must be explicitly
    overridden (even if they are no-op), convert it to an interface with
    default empty methods. Also introduce a NO_OP instance. This allows to
    have implementations that do nothing without having to explicitly add
    all the boilerplate overrides.
    
    Change-Id: I8a3cf6fc66f9a3857e5fa4949ca99c2c473702d6
    
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      ReplicationQueue: Revert back from Flogger to slf4j logging
    
    Change-Id: I05d565e2d45154f72b8efed6579a10bca892de9d
    
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      ReplicationQueue: Revert back from Flogger to slf4j logging
    
    Change-Id: I82c8399626ed53331e18128a7979cb8e68bfa5f1
    
  - ReplicationQueue: Revert back from Flogger to slf4j logging
    
    Slf4j's Mapped Diagnostic Context (MDC) is used to add the replication Id
    into the logs and this was not adapted in the migration to Flogger,
    resulting in the replication Id being omitted from the logs.
    
    Flogger does not support MDC in the same way as slf4j, but provides a log
    context which could be used. This would however change the format of the log
    output. An alternative would be to manually update all the log statements
    to include the replication Id. The downside of this approach is that we
    need to remember to manually add it in any new logs that get added.
    
    Instead of attempting either of those, just revert back to using slf4j.
    
    This reverts commit 425f4f20218986615593da1a9319466743ee12eb.
    
    Note that this is not a pure revert of 425f4f2; following that commit
    several new logs were added. This reverts the commit and adapts the new
    logs to also use slf4j.
    
    Bug: Issue 12678
    Change-Id: I3002afdac7c31786de5b611b32fa3f4c1a80e657
    
1 file changed
tree: 62cdf8e039f1edb0f981ce921fd5ed68b30bea59
  1. .settings/
  2. antlr3/
  3. contrib/
  4. Documentation/
  5. e2e-tests/
  6. java/
  7. javatests/
  8. lib/
  9. modules/
  10. plugins/
  11. polygerrit-ui/
  12. prolog/
  13. prologtests/
  14. proto/
  15. resources/
  16. tools/
  17. webapp/
  18. .bazelignore
  19. .bazelproject
  20. .bazelrc
  21. .bazelversion
  22. .editorconfig
  23. .git-blame-ignore-revs
  24. .gitignore
  25. .gitmodules
  26. .gitreview
  27. .mailmap
  28. .pydevproject
  29. .zuul.yaml
  30. BUILD
  31. COPYING
  32. INSTALL
  33. Jenkinsfile
  34. package.json
  35. README.md
  36. SUBMITTING_PATCHES
  37. version.bzl
  38. WORKSPACE
  39. yarn.lock
README.md

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status

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.