Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gerrit_tutorial [2020/04/21 17:29] – created rpjdaygerrit_tutorial [2020/04/21 17:55] (current) – [git-review --setup] rpjday
Line 5: Line 5:
   * [[https://gerrit.wikimedia.org|Gerrit Mediawiki URL]]   * [[https://gerrit.wikimedia.org|Gerrit Mediawiki URL]]
   * [[https://www.tutorialspoint.com/gerrit/gerrit_quick_guide.htm|Tutorialspoint tutorial]]   * [[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):
 +
 +<code>
 +$ 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.
 +$
 +</code>
 +
 +===== Cloning the test repo =====
 +
 +Clone a test repo:
 +
 +<code>
 +$ 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.
 +$
 +</code>
 +
 +The ''.git/config'' file:
 +
 +<code>
 +[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
 +</code>
 +
 +The ''.gitreview'' file:
 +
 +<code>
 +[gerrit]
 +host=gerrit.wikimedia.org
 +port=29418
 +project=mediawiki/extensions/examples.git
 +track=1
 +</code>
 +
 +Finally, there are no configured hooks:
 +
 +<code>
 +$ 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
 +$
 +</code>
 +
 +===== Configuring git-review =====
 +
 +Verify remotes:
 +
 +<code>
 +$ 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)
 +$
 +</code>
 +
 +==== Configuring git-review for origin ====
 +
 +Point ''git-review'' at origin:
 +
 +<code>
 +$ git config --global gitreview.remote origin
 +</code>
 +
 +Adds .gitconfig info:
 +
 +<code>
 +gitreview.remote=origin
 +</code>
 +
 +===== git-review --setup =====
 +
 +Set up ''git-review'':
 +
 +<code>
 +$ git review -s
 +</code>
 +
 +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
 +
 +
  • gerrit_tutorial.1587490171.txt.gz
  • Last modified: 2020/04/21 17:29
  • by rpjday