commit | 34a2ef0fb31f395262b6516ed3aedc46e20bd981 | [log] [tgz] |
---|---|---|
author | Alice Kober-Sotzek <aliceks@google.com> | Tue Sep 01 19:03:47 2020 +0200 |
committer | Alice Kober-Sotzek <aliceks@google.com> | Tue Sep 08 17:46:46 2020 +0200 |
tree | 78eeec669a78d340c84301f1ea3f2e8a5487a6a8 | |
parent | 7a67fb3ffa1497437be235d8d0326a5a195ccd18 [diff] |
Support parent specification (-> merge commits) in test API of changes With this change, the parent or parents of a change can be easily specified on change creation. The same holds for new patchsets (-> rebase situation). Thus, changes can deliberately be merge or non-merge commits or even switch between the two between patchsets. The API also supports more than 2 parents as we might want to test some of our code for robustness even for that unlikely situation (e.g. we have explicit code for octopus merges inside of the diff caches which is likely untested right now). At the moment, we support four different variants (commit SHA-1, branch name whose tip should be taken, change whose current patchset should be taken, patchset) for indicating parent commits. If necessary, further variants can be added with just a few lines of code in the future. Some of the added builder objects might seem unnecessarily complex. However, we decided to go for a flexible, fluent API which is as easy and guided as possible during its use. To achieve this, we need some more builder objects which we need to stick together in the right manner. Change-Id: I4bf2040798cad9fcdbfb46add55b93bf3c7023f7
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.