commit | bd2d7ab59696d932d3ba5369dd331d6a471d891c | [log] [tgz] |
---|---|---|
author | Edwin Kempin <ekempin@google.com> | Thu Feb 10 07:54:11 2022 +0100 |
committer | Edwin Kempin <ekempin@google.com> | Thu Feb 10 10:54:48 2022 +0100 |
tree | c172578b58ef22f29bbd5b93ebf6c77ee4dd3f62 | |
parent | 719f394b05685207930230ec66bc829c094bb86c [diff] |
CherryPick: Allow to specify options for the commit validation When a change is created by pushing a commit for review it is possible to specify push options. These push options are forwarded to the commit validation listeners. This enables the commit validation listeners to skip the validation if a certain push option was set (also see change If9d82a37c). Push options to skip certain commit validations are for example supported by the uploadvalidator plugin and the code-owners plugin. With this change we allow callers of the Cherry Pick Revision REST endpoint to set validation options in the CherryPickInput that are forwarded as push options to the commit validation listeners. This way commit validation can also be skipped when creating a change / patch set via the Cherry Pick Revision REST endpoint. The same is already possible for the Create Change REST endpoint (see change I936a8b6d6. This is important when the Cherry Pick Revision REST endpoint is used to create changes / patch sets with conflicts allowed. If conflicts are allowed, commit validations that check the validity of files in the commit will fail if these files contains conflicts (because the Git conflict markers will be recognised as invalid input). In this case the change / patch set creation fails due to the validation and so far it was not possible to skip the validation and make the change / patch set creation work. By allowing to specify validation options, commit validations can be skipped now and the change / patch set can be created with conflicts in the files. Gerrit core doesn't support any validation options yet, but commit validation listeners that are implemented in plugins may. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: I66dc4cfda33b780125836af44df582355f43133f Release-Notes: Add support for specifying validation options in Cherry Pick Revision REST endpoint
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.