Merge branch 'stable-3.5'

* stable-3.5:
  Update git submodules
  Remove jackson-* libraries from Gerrit
  Tolerate null values for insertions/deletions
  GitProtocolV2IT: Match trace output from newer git
  Remove ES leftovers
  Set version to 3.5.1-SNAPSHOT
  Set version to 3.5.0.1
  Set version to 3.5.1-SNAPSHOT
  Set version to 3.5.0
  Revert "Increase hover delay for token highlight"
  Remove unused variable
  Disable logging cache stats for new sites
  init: Invoke reindex only once.
  reindex: Print cache statistics only once at the end of program
  Special char warning
  Indicate soft hyphen in diff
  Set version to 3.5.0-SNAPSHOT
  Set version to 3.5.0-rc4
  Skip external ids migration for accounts with case insensitive SHA1
  Handle duplicate external ids when in migration mode
  Run DefaultIndexBindingIT only for index.type=fake
  Update replication plugin to latest master
  Update git submodules
  Update git submodules
  Update git submodules
  Fix listening on ENTER shortcut in <gr-file-list>
  Increase hover delay for token highlight
  Introduce a pluggable indexing libModule type
  Rename libModule types adding the _TYPE suffix
  Update git submodules
  Add Thomas and Patrick to the lists of maintainers
  Update git submodules
  Document new diff caches in config-gerrit
  LuceneChangeIndex: remove redundant ChangeData lookup
  Remove redundant type parameter for TypeLiteral<>
  Set version to 3.5.0-SNAPSHOT
  Set version to 3.5.0-rc3
  Set version to 3.4.3-SNAPSHOT
  Set version to 3.4.2
  Set version to 3.3.9-SNAPSHOT
  Set version to 3.3.8
  Set version to 3.2.15-SNAPSHOT
  Set version to 3.2.14
  Add documentation for the external id notes case insensitivity migration
  Add online migration to migrate external IDs to work case insensitively
  Set version to 2.16.29-SNAPSHOT
  Set version to 2.16.28
  Document userNameCaseInsensitive defaults to true for new sites
  Remove support for ElasticSearch indexes
  Use JGit 5.1.15.202012011955-r javadoc to resume release build
  Remove reference to deprecated metrics-reporter-elasticsearch
  Bazel: Remove deprecated bazel-toolchain dependency
  Avoid lucene index deletes during offline reindexing
  Fix mismerge of I359578a
  Remove bazel workaround
  Fix group suggestions
  Fix group suggestions
  Update replication plugin to latest master
  Display cache stats after reindex operation
  Fix AllProjectsIndexer to avoid duplicate reindex work
  Rename ProjectCache.evict() to ProjectCache.evictAndReindex()
  AllChangesIndexer: Parallelize project slice creation
  AllChangesIndexer: Avoid scanning for change refs in each slice
  Fix tests compilation
  Set version to 3.5.0-SNAPSHOT
  Set version to 3.5.0-rc2
  VersionMetaData: Don't close passed in RevWalk
  Allow context-dependent group suggestions in gr-permission
  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
  Add p param to QueryGroupsParams
  Add import to gr-registration-dialog_test
  Add migration mode for case insensitive external IDs
  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
  Bump auto-value-gson to 1.3.1
  fixup!: Disable auto flushing during offline Lucene indexing
  Don't retain body in RevWalk for Change meta reachability check
  Move verification of GetChange meta-ref id to the API layer
  Eclipse settings: configure build to use JavaSE-11
  Add missing "--migrate-draft-to" flag on init doc
  AllChangesIndexer: Show total failed changes
  Fix buggy Index-Interactive Executor
  reindex: Use thread count specified on command line
  Disable auto flushing during offline Lucene indexing
  Set version to 3.5.0-SNAPSHOT
  Set version to 3.5.0-rc1
  Avoid creating loose objects in Schema 146
  Avoid creating loose objects in schema 167
  Stop using experiment flag for Token Highlighting
  Upgrade lit for plugins from 2.0.0-rc.3 to 2.0.2
  Fix schemas to use the appropriate ObjectInserter
  Add REST endpoint for commits included in refs
  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
  Use JGit's RevWalk.getMergedInto instead of IncludedInResolver
  Fix position of titles for related changes
  Toggling theme reloads the page
  Only force the comment re-creation workaround for Safari
  doc: remove fragment from dashboard examples
  Update JGit to 60b81c5a9280e44fa48d533a61f915382b2b9ce2
  Ignore patchset level comments when computing unresolved count
  Do not pop up reviewer suggestions before typing a character
  Fix Enter shortcut for comments within file-list
  Ignore patchset level comments when computing unresolved count
  Parallelize inserts into accountPatchReviewDb in schema 127
  Set version to 3.5.0-SNAPSHOT
  Set version to 3.5.0-rc0
  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
  Upgrade JGit to 60b81c5a9280e44fa48d533a61f915382b2b9ce2
  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
  Ignore the Rule-Name key in submit record footers
  Fix DynamicOptions to invoke listeners registered to BeanParseListener
  Update git submodules
  Update jgit to 84707715108a65a366ef35f2ae04aabecd0b35f6
  Add PluginServletContext#getVirtualServerName
  Introduce "--reindex-threads" option
  ListAccess: Fix incorrect behavior when group appears twice for same rule
  Allow moving of merge commits
  Bump Bazel version to 4.2.0
  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
  doc: document how to get flat html doc files

Change-Id: Icb42ed158b658771aa9251815f13a652b1f53a66
tree: 0447e564c744dc67cabe03509e137ee3c7497a3e
  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.