===== Overview =====
Tutorial for Gerrit, using mediawiki Gerrit repo.
* [[https://gerrit.wikimedia.org|Gerrit Mediawiki URL]]
* [[https://www.tutorialspoint.com/gerrit/gerrit_quick_guide.htm|Tutorialspoint tutorial]]
===== Preparation =====
* Install Git (duh)
* Generate local SSH keys
* Create account at Mediawiki, add SSH keys
* Install ''git-review'' package on Linux
Test access with (should see):
$ ssh -p 29418 rpjday@gerrit.wikimedia.org
**** Welcome to Gerrit Code Review ****
Hi Robert P. J. Day, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://rpjday@gerrit.wikimedia.org:29418/REPOSITORY_NAME.git
Connection to gerrit.wikimedia.org closed.
$
===== Cloning the test repo =====
Clone a test repo:
$ git clone ssh://rpjday@gerrit.wikimedia.org:29418/mediawiki/extensions/examples
Cloning into 'examples'...
remote: Counting objects: 44, done
remote: Finding sources: 100% (4/4)
remote: Getting sizes: 100% (3/3)
remote: Compressing objects: 100% (127443/127443)
remote: Total 1342 (delta 0), reused 1339 (delta 0)
Receiving objects: 100% (1342/1342), 305.93 KiB | 3.00 MiB/s, done.
Resolving deltas: 100% (889/889), done.
$
The ''.git/config'' file:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://rpjday@gerrit.wikimedia.org:29418/mediawiki/extensions/examples
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
The ''.gitreview'' file:
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/examples.git
track=1
Finally, there are no configured hooks:
$ ls -1 .git/hooks
applypatch-msg.sample
commit-msg.sample
fsmonitor-watchman.sample
post-update.sample
pre-applypatch.sample
pre-commit.sample
pre-merge-commit.sample
prepare-commit-msg.sample
pre-push.sample
pre-rebase.sample
pre-receive.sample
update.sample
$
===== Configuring git-review =====
Verify remotes:
$ git remote -v
origin ssh://rpjday@gerrit.wikimedia.org:29418/mediawiki/extensions/examples (fetch)
origin ssh://rpjday@gerrit.wikimedia.org:29418/mediawiki/extensions/examples (push)
$
==== Configuring git-review for origin ====
Point ''git-review'' at origin:
$ git config --global gitreview.remote origin
Adds .gitconfig info:
gitreview.remote=origin
===== git-review --setup =====
Set up ''git-review'':
$ git review -s
which does the following:
* check remote access for submitting branches (if no remote access, ask for username)
* create remote access called "gerrit" (doesn't seem to)
* install Gerrit ''commit-msg'' hook