Merge branch 'stable-3.3' into stable-3.4

* stable-3.3:
  Fix tests compilation
  VersionMetaData: Don't close passed in RevWalk
  Allow context-dependent group suggestions in gr-permission
  Fix disabling repo configs if you do not have permissions to edit
  Move AutoFlush to 'gerrit.server.index.options' package
  AccessIT: Add tests for when group appears twice for same rule
  Prevent infinite loops with GWT UI and HTTP auth
  Fix BatchMetaDataUpdate to not close passed in object reader
  AllChangesIndexer: skip creating slices for projects with no changes
  fixup!: Disable auto flushing during offline Lucene indexing
  Add missing "--migrate-draft-to" flag on init doc
  Fix buggy Index-Interactive Executor
  reindex: Use thread count specified on command line
  Disable auto flushing during offline Lucene indexing
  Avoid creating loose objects in Schema 146
  Avoid creating loose objects in schema 167
  Fix schemas to use the appropriate ObjectInserter
  Update schemas 115,119 to create a desired initial commit
  Create initial commit in schema 146 only when necessary
  Avoid creating loose objects in schemas 115 and 119
  doc: remove fragment from dashboard examples
  Parallelize inserts into accountPatchReviewDb in schema 127
  Avoid listing repositories multiple times during schema migrations
  Parallelize Schema 108
  Avoid creating loose objects in Schema 154
  Parallelize Schema 130 and 131
  Avoid creating loose objects in Schema 144
  Avoid creating loose objects in Schema 139
  Avoid creating loose objects in Schema 124
  Fix gr-tooltip test
  Update schemas 115,139,144 to ignore entries not in the 'accounts' table
  Set version to 3.3.8-SNAPSHOT
  Set version to 3.3.7
  Reuse the same Repository when listing changes by status
  Reuse the already opened Repository for refs filtering
  Load an arbitrary version of change notes
  Set version to 3.2.14-SNAPSHOT
  Set version to 3.2.13
  Doc: Fix asciidoctor warning
  Reuse the already opened Repository in ReceiveCommit
  Change bouncycastle urls
  Add utf-8 support in the license generator
  Allow loading change notes from an existing Repository
  DRY out set config of Git protocol v2 in tests
  Unify getRefs() and getRefsByPrefix() in permission-aware refdb
  rest-api-projects: Fix typo referring to /groups/
  Log the result of git-upload-pack command in httpd_log
  Fix serialization of AllUsersName and AllProjectsName
  Fix DynamicOptions to invoke listeners registered to BeanParseListener
  Update git submodules
  Update jgit to 84707715108a65a366ef35f2ae04aabecd0b35f6
  Add PluginServletContext#getVirtualServerName
  ListAccess: Fix incorrect behavior when group appears twice for same rule
  Allow moving of merge commits
  Introduce flag '--migrate-draft-to'
  PolyGerrit: replace event.path with event.composedPath
  PolyGerrit: replace event.path with event.composedPath
  OutgoingEmail: Handle null accountId in getUserNameEmailFor(Account.Id)
  NoteDbMigrator: Make shuffling project slices optional
  NoteDbMigrator: Make GC on repositories optional
  OutgoingEmail: Handle null accountId in getNameEmailFor(Account.Id) method
  OnlineNoteDbMigration: allow per-project migration
  Update jgit to 5.1.16.202106041830-r
  NoteDbMigrator: Warm PostgreSQL DB before migration

Change-Id: Ia3f5b8fe76f4707ba7cf2a8682183d503e0a2db3
tree: d1426872b5cf2d2395e53939fd7197428a1ecc13
  1. .settings/
  2. .ts-out/
  3. antlr3/
  4. contrib/
  5. Documentation/
  6. e2e-tests/
  7. java/
  8. javatests/
  9. lib/
  10. modules/
  11. plugins/
  12. polygerrit-ui/
  13. prolog/
  14. prologtests/
  15. proto/
  16. resources/
  17. tools/
  18. webapp/
  19. .bazelignore
  20. .bazelproject
  21. .bazelrc
  22. .bazelversion
  23. .editorconfig
  24. .git-blame-ignore-revs
  25. .gitignore
  26. .gitmodules
  27. .gitreview
  28. .mailmap
  29. .pydevproject
  30. .zuul.yaml
  31. BUILD
  32. COPYING
  33. INSTALL
  34. Jenkinsfile
  35. package.json
  36. README.md
  37. SUBMITTING_PATCHES
  38. version.bzl
  39. WORKSPACE
  40. yarn.lock
README.md

Gerrit Code Review

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

Build Status Maven Central

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 8 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-centos8

To run a Ubuntu 20.04 based Gerrit image:

    docker run -p 8080:8080 gerritcodereview/gerrit[:version]-ubuntu20

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.