| commit | 0f5cf160ba54a5268cbc902aa72a10ed7ed1260f | [log] [tgz] |
|---|---|---|
| author | Luca Milanesio <luca.milanesio@gmail.com> | Tue Nov 11 11:23:13 2025 +0000 |
| committer | Luca Milanesio <luca.milanesio@gmail.com> | Tue Nov 11 20:36:48 2025 +0000 |
| tree | 692955d46a45ff45d71499c980711616a0d5d7d5 | |
| parent | 20ed9391b31f421c617da62561ac5ca12550b264 [diff] |
Restrict change autocompletion to the same project Specify an additional project query condition when fetching the most recent 450 open changes for auto-completion, by using the project name associated with the change model of the rebase dialog. Opening the rebase window triggered the background query for the past 450 changes opened across all repositories, with the consequence of triggering a potentially significant download of a JSON payload over the network. Querying for the open changes across *all* the projects does not make sense for the purpose of rebasing for two reasons: 1. A change can only be rebased on top of another change or SHA1 that belongs to the same project. Fetching changes that are part of another project isn't helpful and causes only an overload of the JSON payload. 2. Because the limit of 450 changes applies across all projects, the non-relevant data is filtered out, leaving fewer changes to choose from. Potentially, it could also end up with no changes at all if the last 450 changes belong to a different project, making the autocompletion completely ineffective. By propagating the project name from the change model, achieve a significant reduction of the JSON payload for the change having less than 450 open changes in the past 90 days; also, improve the likelihood to use the result for the auto-completion by having only relevant changes in the payload returned by the backend. Bug: Issue 459059302 Release-Notes: Reduce the returned JSON payload size when querying for open changes upon the opening of the rebase window. Change-Id: Idd840993b507874e399eb306e2ae14879408e53b
Gerrit is a code review and project management tool for Git based projects.
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.
For information about how to install and use Gerrit, refer to the documentation.
Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.
Please report bugs on the issue tracker.
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.
The Developer Mailing list is repo-discuss on Google Groups.
Gerrit is provided under the Apache License 2.0.
Install Bazel and run the following:
git clone --recurse-submodules https://gerrit.googlesource.com/gerrit
cd gerrit && bazel build release
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>]
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.