Gerrit/TortoiseGit tutorial

This tutorial may help windows users contributing the source codes to gerrit and git.

Install software
It is optional to select "Git GUI here" but we use TortoiseGit as Graphical User Interface. Do not select Advances context menu (git-cheetah plugin)
 * 1) Download and install [//msysgit.github.io/ Git for Windows]
 * 2) Select Windows Explorer integration – Simple context menues entries: "Git Bash here" which is recommended.
 * 1) In next step we choose "Run Git from Windows Command Prompt". Otherwise some scripts may not run.
 * 2) Select 1st item for the line ending conversions
 * 3) Download and Install TortoiseGit

Create and publish your SSH-Key

 * Start puttygen.exe in the folder  and create an new SSH key and save the private key it in a .ppk file, also save the public key.
 * Login to https://gerrit.wikimedia.org, use your labs username and password
 * Go to Settings > SSH Public Keys and add your public key
 * Go to Settings > Identities and verify your email address and account (identity)

Clone your working copy

 * Right.click on windows explorer ans select "Git clone" to clone a repository to the given directory. Use the URL from gerrit repository e.g.  for the pywikibot core. Select the recursive switch. (Be aware: port 29418 is required for ssh access here. The default ssh port 22 does not work!) You may choose "Load Putty Key" and select your private .ppk file given above. Or you may deselect that button and setting up in the next step.

Setting up TortoiseGit

 * Right-click on your repository and open TortoiseGit > Settings
 * Choose Git > Remote and select "origin" remote server. Verify the URL and select your private Putty Key .ppk file if not done previously.
 * Choose Git (or Git > Config) and verify whether your Name and Email of the User Info is the same as your gerrit account.
 * Click on Edit global .gitconfig and again verify your name and email to be these same as in gerrit.
 * Choose General > Set Extend Menu Item and deselect Browse References

Git Settings

 * Right-click on your repository and start Git Bash
 * Type the following lines:

Install commit-msg hook
Install the commit-msg hook into the -Folder. You may use one of the three methods descriped at Gerrit/Alternatives to git-review.

Git Clone hangs
If Git Clone... hangs after "Resolving deltas" hits 100% and you are using PuTTY: Open up PuTTY, load Default Settings, and set "Chokes on PuTTY's SSH-2 'winadj' requests" to "On" under Connection->SSH->Bugs. Then select Session, select Default Settings, and Save.