Update git submodules

* Update plugins/replication from branch 'stable-3.2'
  to c322f17037dae19e1943af63638974f22e870cd8
  - Merge branch 'stable-3.1' into stable-3.2
    
    * stable-3.1:
      ReplicationStorageIT: Wait for all pushes without order
      Replication*IT: Share getRef method
      ReplicationFanoutIT: Share setReplicationDestination
      ReplicationFanoutIT: Split shouldReplicateNewBranch tests
      ReplicationFanoutIT: Remove generic waitUntil helper
      ReplicationFanoutIT: Inherit from ReplicationDaemon
      ReplicationFanoutIT: Refactor setRemoteReplicationDestination
      ReplicationFanoutIT: Rename setReplicationDestination
      ReplicationFanoutIT: Cleanup shouldCreateIndividualReplicationTasksForEveryRemoteUrlPair
      Move shouldCleanupTasksAfterNewProjectReplication test
      Move storage portion of replicateBranchDeletion ITs
      Refactor Replication*IT tests to share a base class
      ReplicationIT: Add shouldMatch* e2e tests
      ReplicationStorageIT: Move shouldMatch* tests from ReplicationIT
      ReplicationTasksStorage: Add multi-primary unit tests
      ReplicationTasksStorage: Add multi-primary unit tests
      ReplicationStorageIT: Add shouldFire*ChangeRefs tests
      Move storage-based ITs into ReplicationStorageIT
      ReplicationTasksStorage.Task: Add multi-primary unit tests
      ReplicationQueue: Remove unused method
    
    Cleanup specific to stable-3.2 will be done in follow-up changes.
    
    Change-Id: Ib938c661158e8f7a3434010187b87c79e81a01b8
    
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      ReplicationStorageIT: Wait for all pushes without order
      ReplicationTasksStorage: Add multi-primary unit tests
    
    Change-Id: I3961368f7bcf7d4aa923d07f7f89beeaaeb307d3
    
  - Merge "ReplicationTasksStorage.Task: Add multi-primary unit tests" into stable-3.1
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      ReplicationStorageIT: Wait for all pushes without order
      ReplicationTasksStorage: Add multi-primary unit tests
    
    Change-Id: I1d749621c189ee2e49f092ddc7558f83e508411f
    
  - ReplicationStorageIT: Wait for all pushes without order
    
    Some tests don't have a predefined order for which events will be
    replicated first. Using a timeout based on a single replication event is
    flawed when we don't know the expected order. Instead, use a timeout for
    the group of events and ignore the order.
    
    For two events replicating to a single remote with a single thread, we
    expect the complete replication to take twice as long. Two events
    replicating to two remotes will use one thread each and therefore not
    take any longer than the single remote case.
    
    Change-Id: Ieb21b7eee32105eab5b5a15a35159bb4a837e363
    
  - Replication*IT: Share getRef method
    
    This helper is common to a couple test classes, so share it.
    
    Change-Id: I5839c31ad734c384e812e9e1c7bcba8ba05c23cc
    
  - ReplicationFanoutIT: Share setReplicationDestination
    
    Refactor setReplicationDestination to share the per-remote-file and
    single replication config file implementations more.
    
    Change-Id: Ic0a98ccf0f7703f14c01856a42b8a70e3d20aa8b
    
  - ReplicationFanoutIT: Split shouldReplicateNewBranch tests
    
    Split these into storage-based and e2e tests so that the storage tests
    can be reliably verified through use of replicationDelay large enough
    that task state on disk doesn't change during the tests.
    
    Keep them all in ReplicationFanoutIT for now since the setup for these
    tests is unique to that class.
    
    Also remove the unnecessary cleanup of tasks.
    
    Change-Id: I36e0a4affe1f5d1330ea27a496fd8ba295176763
    
  - ReplicationFanoutIT: Remove generic waitUntil helper
    
    Using a non-specific timeout is a bad pattern. Tests should pick a
    timeout appropriate to the action being tested.
    
    Change-Id: I69a7e469df1dc532af6a777ac47d89852091797e
    
  - ReplicationFanoutIT: Inherit from ReplicationDaemon
    
    Reduces duplication across the replication IT classes. More dedup is
    possible with the helper methods, but leave that for a future change.
    
    Change-Id: Iddd6dca9a4fe84b065954cd4dcec7289d7ed68a2
    
  - ReplicationFanoutIT: Refactor setRemoteReplicationDestination
    
    Simplify callers by providing a way to set the replicationDelay up
    front.
    
    Change-Id: I28cea83559aa1eb379ec2ff962a0beaf25fe4ca6
    
  - ReplicationFanoutIT: Rename setReplicationDestination
    
    Distinguish the methods that set the per-remote config files vs the
    methods that set the global replication.config. This helps lead up to
    ReplicationFanoutIT inheriting from ReplicationDaemon.
    
    Change-Id: I6139d2dbde15c0b0449d7d7801c169253bc7449d
    
  - ReplicationFanoutIT: Cleanup shouldCreateIndividualReplicationTasksForEveryRemoteUrlPair
    
    Remove some dead code, use Integer.MAX_VALUE for the replicationDelay so
    that tasks stay in the waiting/ area of storage for the entire test, and
    use a dedicated listWaitingTasks() to show it only depends on tasks in
    that state.
    
    Change-Id: I0035a4edc656ed4833249322c45204124a66e20d
    
  - Merge changes I0ef708ab,I81d27fd4 into stable-3.1
    
    * changes:
      Move shouldCleanupTasksAfterNewProjectReplication test
      Merge branch 'stable-3.0' into stable-3.1
    
  - Merge "ReplicationTasksStorage: Add multi-primary unit tests" into stable-3.1
  - Merge "ReplicationTasksStorage: Add multi-primary unit tests" into stable-2.16
  - Move shouldCleanupTasksAfterNewProjectReplication test
    
    This test is focused on the storage level, so move it to
    ReplicationStorageIT. Slightly improve it to use the new best practices
    for specifying test timeouts.
    
    Change-Id: I0ef708ab7813ee09d6f115d3151d2d12b9984a80
    
  - Merge branch 'stable-3.0' into stable-3.1
    
    * stable-3.0:
      Move storage portion of replicateBranchDeletion ITs
      Refactor Replication*IT tests to share a base class
      ReplicationIT: Add shouldMatch* e2e tests
      ReplicationStorageIT: Move shouldMatch* tests from ReplicationIT
      ReplicationStorageIT: Add shouldFire*ChangeRefs tests
      Move storage-based ITs into ReplicationStorageIT
      ReplicationQueue: Remove unused method
    
    This change does not try to reimpose the breakdown of tests that was
    done in 3.0. That will be done in follow up change(s) to improve
    reviewability of this change.
    
    Change-Id: I81d27fd47da8eecad3aca36d8e6400679fb564a3
    
  - Move storage portion of replicateBranchDeletion ITs
    
    All other ITs split e2e and storage tests on stable-2.16, so this change
    only updates the new replicateBranchDeletion tests that were added in
    stable-3.0.
    
    The e2e check for if the destination branch is removed or not stays in
    ReplicationIT and the check that a task is created in storage when the
    branch delete API is invoked moves to ReplicationStorageIT.
    
    This split allows the best practices for verifying e2e and storage to be
    applied independently.
    
    Change-Id: Iec7ee090bd614e3442b1f9cb454437c9e05290be
    
  - Merge branch 'stable-2.16' into stable-3.0
    
    * stable-2.16:
      Refactor Replication*IT tests to share a base class
      ReplicationIT: Add shouldMatch* e2e tests
      ReplicationStorageIT: Move shouldMatch* tests from ReplicationIT
      ReplicationStorageIT: Add shouldFire*ChangeRefs tests
      Move storage-based ITs into ReplicationStorageIT
      ReplicationQueue: Remove unused method
    
    This change does not try to reimpose the breakdown of tests that was
    done in 2.16. That will be done in follow up change(s) to improve
    reviewability of this change.
    
    Change-Id: I83202997610c5ad0d8849cb477ca36db8df760f5
    
  - Refactor Replication*IT tests to share a base class
    
    These classes have very similar setups and duplicate helper methods.
    Improve maintainability by reducing the duplication.
    
    ReplicationQueueIT is not modified because it is merged into
    ReplicationIT on stable-3.0.
    
    Change-Id: Ibc22ae4d0db2d09009f65c0e745f1095c67827ba
    
  - ReplicationIT: Add shouldMatch* e2e tests
    
    These new tests utilize creating a branch in a way that does not trigger
    replication so that scheduleFullSync() is responsible for replicating
    the update. In this way, the tests verify the destination receives the
    update because scheduleFullSync() matched the given URI.
    
    Change-Id: I4ae15d0301a308a12cbca3684915e89ca421e02f
    
  - ReplicationStorageIT: Move shouldMatch* tests from ReplicationIT
    
    These tests are focused on verifying storage, so they belong in
    ReplicationStorageIT. Improve these tests to better verify storage
    correctness by switching the 'now' parameter to false such that
    replicationDelay is honored and follow the ReplicationStorageIT
    pattern using a very long delay. These improvements make these tests
    much more stable.
    
    The tests improve the ref matching slightly by comparing to the
    PushOne.ALL_REFS constant.
    
    Also removes the disableDeleteForTesting flag as there are no users of
    it now.
    
    A later change can add ReplicationIT e2e tests for these use cases.
    
    Change-Id: Iaa14a7429a40fb62325259efa1c7d7637deef95a
    
  - ReplicationTasksStorage: Add multi-primary unit tests
    
    These tests examine the replication scenarios under
    multi-primary setup making use of the api calls present
    in ReplicationTasksStorage class similarly as done in
    single primary setup.
    
    These tests ensure that the replication compatability in
    multi-primary setup is not broken.
    
    Change-Id: Ib2d0017c4d2ac3f4cfc7262b68b09a3a357e1337
    
  - ReplicationTasksStorage: Add multi-primary unit tests
    
    These tests examine the replication scenarios under multi-primary
    setup making use of the api calls present in ReplicationTasksStorage
    class similarly as done in single primary setup.
    
    These tests ensure that the replication compatibility in multi-primary
    setup is not broken.
    
    Change-Id: I375b731829f3c0640d3a7a98635e1e5c526908ca
    
  - ReplicationStorageIT: Add shouldFire*ChangeRefs tests
    
    Copy the shouldFire*IncompleteUri tests as shouldFire*ChangeRefs to
    fill a gap in test coverage.
    
    Change-Id: Ia8df64a8574b776e6a9f7201c0862f1e6794687e
    
  - Move storage-based ITs into ReplicationStorageIT
    
    Tests in ReplicationStorageIT utilize very long replication delays such
    that tasks are never expected to complete during the test. This allows
    test writers to assume the task files are still there.
    
    Refactor tests from ReplicationIT into ReplicationStorageIT and focus
    them on verifying storage correctness. This is mostly a direct copy
    except that shouldFirePendingOnlyToStoredUri gets renamed and split into
    two tests. One that validates tasks are fired and another that validates
    replication completes to the expected destinations. This split is
    necessary because of the very long delay methodology mentioned above.
    
    Code sharing between ReplicationIT and ReplicationStorageIT will be
    improved in a later commit.
    
    Change-Id: I41179c20a10354953cff3628368dfd5f910cc940
    
  - ReplicationTasksStorage.Task: Add multi-primary unit tests
    
    These tests examine the replication scenarios under
    multi-primary setup making use of the api calls present
    in ReplicationTasksStorage.Task class similarly as done in
    single master setup.
    
    These tests ensure that the replication compatability in
    multi-primary setup is not broken.
    
    Change-Id: I980e8286bf11d31c6ab89e49ef065fdde1118181
    
  - ReplicationQueue: Remove unused method
    
    And drop the misleading @VisibleForTesting annotation from the method
    the removed method was wrapping. scheduleFullSync() is public so that
    PushAll can call it.
    
    Change-Id: I0139e653654fcaf20de68dddfb5ea85560a323d0
    
1 file changed
tree: e9cdb562a8f1b4421782b975fb5f2cd81302b7a3
  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.