commit | f4972e15c3ac1593c9dc55f9cf7da3ded9c81638 | [log] [tgz] |
---|---|---|
author | Dariusz Luksza <dariusz@luksza.org> | Fri Mar 06 15:29:17 2015 +0100 |
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | Fri Apr 28 12:52:22 2017 +0000 |
tree | 43b80b16d19c11bc3fc124bbc92c5184f7a01d20 | |
parent | 579cabd0de067c7f6f1f7eb177110253e5c879b1 [diff] |
Update git submodules * Update plugins/replication from branch 'master' - Add support for direct replication to another Gerrit instance Currently when replicating to another Gerrit instance replication plugin requires also system SSH access in order to create, delete and update HEAD reference of replicated project. For those three operations plugin will execute system commands over SSH. When other site of replication is also a Gerrit server we can use its SSH API to perform operations mentioned above. Then we drop dependency on system SSH access. In order to set up a SSH connection between two Gerrit instances, one must generate ssh-key-pair with empty passphrase. Then this key-pair can be set to be used for connecting to explicitly configured destination host. TEST PLAN: To test this patch it is recommended to generate new ssh-key-pair and configure the ssh client like follows: * ssh-keygen -f ~/.ssh/empty-passphrase * echo "Host localhost\n\tPort 29419\n\tIdentityFile ~/.ssh/empty-passphrase" >> ~/.ssh/config Then set up a second Gerrit instance (set up sshd to listen on port 29419) which will be the replication destination and create replication user with public ssh-key from ~/.ssh/empty-passphrase.pub. On the replication master server etc/replication.config needs to be adjusted as well: [remote "other-gerrit"] url = ssh://$replication_user@localhost:29419/${name}.git adminUrl = gerrit+ssh://$replication_user@localhost:29419/ After starting both instances creating a project in the master will result in the same project created on the replication destination. Of course Gerrit access rights still apply, therefore $replication_user should have create project capability and push rights. Change-Id: I677f7bd1164be259916c8cebdd4ddeee469402a3 Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
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 IRC channel on freenode is #gerrit. An archive is available at: echelog.com.
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 --recursive 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 7 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]
To run a Ubuntu 15.04 based Gerrit image:
docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]
NOTE: release is optional. Last released package of the version is installed if the release number is omitted.