Merge branch 'stable-3.3' into master

* stable-3.3:
  Update JGit to 9f3616dcb
  Make PermissionBackend#ForRef authoritative
  Revert "Upgrade metrics-core to 4.1.14"
  Update git submodules
  Introduce cache.openFiles setting
  Update jgit to e2663a8b8
  Set version to 3.2.5.1
  Revert "Add latency tracking for porting comments"
  Disk cache metrics require cache.enableDiskStatMetrics
  Set version to 2.14.22
  Fix Shift-A shortcut for hiding the left side of the diff
  ElasticContainer: Upgrade V6_8 to elasticsearch 6.8.13
  Upgrade testcontainers to 1.15.0
  Update git submodules
  Workaround Gitiles bug on All-Users visibility
  Validate Gerrit changes on stable-2.15 with Jenkins
  Set version to 3.3.0-SNAPSHOT
  Set version to 3.3.0-rc6
  Set version to 2.15.22-SNAPSHOT
  Set version to 3.0.16-SNAPSHOT
  Set version to 2.15.21
  Set version to 3.0.15
  Set version to 2.16.26-SNAPSHOT
  Set version to 2.16.25
  Clean up comment experiment flags
  Set version to 3.1.11-SNAPSHOT
  Set version to 3.1.10
  Workaround Gitiles bug on All-Users visibility
  Workaround Gitiles bug on All-Users visibility
  Workaround Gitiles bug on All-Users visibility
  Workaround Gitiles bug on All-Users visibility
  Set version to 3.2.6-SNAPSHOT
  Set version to 3.2.5
  Workaround Gitiles bug on All-Users visibility
  Set version to 2.15.21-SNAPSHOT
  Set version to 2.15.20
  Fetch JGit documentation from the archive site
  Remove generation for c.g.gwtexpui.* JavaDoc
  Set version to 3.2.5-SNAPSHOT
  Set version to 3.2.4
  Set version to 3.1.10-SNAPSHOT
  Set version to 3.1.9
  Convert comment counts to comment thread counts around the UI
  Set version to 3.0.15-SNAPSHOT
  Set version to 2.16.25-SNAPSHOT
  Set version to 3.0.14
  Set version to 2.16.24
  Fix label votes not showing up when not logged in
  Fix showing "Add Patchset Description" for users that are not logged in
  Make PermissionBackend#ForRef authoritative
  Validate Gerrit changes on stable-2.15 with Jenkins
  Fix tests for stable-2.15 branch
  Make PermissionBackend#ForRef authoritative
  Make PermissionBackend#ForRef authoritative
  Make PermissionBackend#ForRef authoritative
  Specify line-height for code in terms of rem
  Fix iron-dropdown positioning
  Provide clearer above / below mapping for context expansion buttons
  Refuse to expand skip groups with WHOLE_FILE
  Abort cursor moves via a sentinel, not a callback
  Don't unset scroll on non-existant stop
  Make tests independent of gr-diff rendering
  Allow multiple plugins to provide coverage data
  Fix gr-main-header
  Rename gr-main-header_test.js to gr-main-header_test.ts
  Add support to skip chunks
  Avoid sharing search operators between gr-search-bar instances
  Use 'current' for latest patchnum when it's not set
  Only request ported drafts if user is logged in
  Catch errors in getPortedComments request
  Hide label row if user cannot vote on it
  Remove committer info if it is the same as the uploader
  Add latency tracking for porting comments
  Add Typescript test migration instruction to README.md
  Update revision type in FetchChangeJSON
  Add hasDrafts property to re-compute attention set
  Remove non-edit top level actions in edit mode
  Convert gr-change-view tests to typescript
  Rename gr-change-view_test.js to gr-change-view_test.ts
  Remove generateChange method and instead use test-data-generators.ts
  Add test-data-generators and convert several test files to TS
  Add Publish button to editor
  Update Save button to Save & Close file in edit view
  A11y - Fix reading whole diff preferences dialog
  Cleanup eslint rules and fix some eslint warnings
  Allow to write and run Typescript tests
  Fix headline for user queries for users without name
  A11y - headlines for Diff Page
  A11y - headlines for Change Page
  Pass change info object to coverage annotation provider.
  A11y - headlines for Dashboard Page
  Assign correct type to patchNum in tests
  Do not convert PatchSetNum type to string
  Check detail type in gr-repo-detail
  Replace polymer readonly attribute with ts readonly
  A11y - Remove <hr> from headlines
  Sort labels in change-view similar to reply dialog
  Linkify branch name in repo detail list
  Typescript 4.0 fixes
  A11y - Add meaningful label for Delete Comment button
  Do not navigate to Base vs X if X is Base and file is unchanged
  Fix types in common.ts
  Unit test for Fix navigate back to change page with '[' on first diff
  Clean up patchset conversion in change view params
  Convert patch set from url to PatchSetNum type
  Add keyboard shortcut 'f' to open file list in diff view
  Fix navigate back to change page with '[' on first diff.
  Update mixins to avoid compilation issues
  Required fixes to match internal google rules
  Convert embed/gr-diff and gr-diff-root to ts
  Ensure that all assignment to window.Gerrit properties are safe
  Convert files to typescript
  Rename files to preserve history
  Remove duplication of types
  Tests: fix 500 response when requesting gr-diff-view.ts
  Show comment in viewport when navigating to Base vs X
  Add tests for moveToNextChunk in case of dueToMove=true
  Do not skip lines marked as dueToMove
  Replace parseInt() with Number
  Fix TseTse errors
  Fix repositioning the reply dialog when the attention section expands
  Allow to remove reviewers that don't have _account_id
  Convert gr-change-view to typescript
  Rename files to preserve history
  Improve tests infrastructures
  Convert <gr-diff-view> to typescript
  Rename files to preserve history
  Fix crash when gr-diff-host is reloading.
  Add event detail interfaces for dispatchEventThroughTarget
  Replace "Since" by "Waiting"
  Fix patchset comparison when adding coverages
  Convert files to typescript
  Fix argument type for dispatchEventThroughTarget
  Rename files to preserve history
  Convert files to typescript
  Rename files to preserve history
  Convert gr-smart-search to typescript
  Change the tooltip of the 'MODIFY' button to be fancier
  Fix TseTse errors.
  Fix 'Send' button being enabled even without the user making any changes
  Toggle default to show unresolved comments
  Do not add reviewer to the attention set when they add themselves
  Fix attention set tip not showing up
  Make gr-diff own "loading" state
  Rename files to preserve history
  Convert files to typescript
  Rename files to preserve history
  Convert files to typescript
  Rename files to preserve history
  Convert files to typescript
  Add more functionalities to hovercard
  Add email notification option ATTENTION_SET_ONLY
  Fix filter function type in reply dialog
  Rename files to preserve history
  Convert files to typescript
  Rename files to preserve history
  Convert files to typescript
  Replace dispatchEvent with dispatchEventThroughTarget
  Use await flush() instead of setTimeout in tests
  Fix TseTse error
  Convert patchNum into integer if possible
  Rename files to preserve history
  Fix js error when `all` is not set in LabelInfo
  Refactor reload 9: Extract promisification
  Refactor reload 8: Extract getting layers
  Refactor reload 7: Await syntax highlighting
  Refactor reload 6: Merge try blocks
  Refactor reload 5: Await _getDiff()
  Refactor reload 4: Separate await diff and asset
  Refactor reload 3: Await diff and asset request
  Refactor reload 2: Await render promise
  Refactor reload 1: Promisify callback
  Convert files to typescript
  Rename files to preserve history
  Convert files to typescript
  Rename files to preserve history
  Change when and how attention can be modified in the reply dialog
  Use the GrDiff type now that it's available
  Use Side type for checking if line is left or not
  Use a selection chip also in the attention summary of the reply dialog
  Bold the user name, if they are in the attention set
  Do not show attention related hovercard actions to guest users
  Fix showing the CC section in the attention modify section
  Change attention set logic to take unresolved state into account
  Do not add the owner to an otherwise empty attention set
  Add an attention-set-util
  Fix "Do not update attention set" message
  When adding more than 2 users to the attention set show a warning
  Add 'Since' and 'Submitted' columns to dashboard sections
  Change the sorting of changes in the 'Your Turn' dashboard section
  Highlight the dashboard rows with attention as reviewer
  Fix TypeScript compile error for JSON.parse() call
  Remove unused projectName
  Improve description of auth.skipFullRefEvaluationIfAllRefsAreVisible
  Verify hostname when sending emails via SMTP server with SMTPSClient
  Hide patch file download when the commit has multiple parents
  Make PermissionBackend#ForRef authoritative
  Docs: Clarify that 'm' push option sets patch set description

Change-Id: I207e72b690541a850857fed1a6d6c182e226f07a
tree: 5ac5a8868fab20bbba58935c9fbb916520520e30
  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.