Gerrit/New repositories

Both during and after the transition from Subversion to Git, this page will provide information on requesting space for new extensions and any other new Wikimedia technology projects.

As of March 12 2012, all new extensions should be posted on Git. If you want to be a Gerrit project owner of code that's already in Gerrit, use Project:Gerrit project ownership.

Step 1: Get Git access
Access to Git is managed via Wikimedia Labs and integrated with Gerrit. As of 6 March 2012, that's in a closed beta -- if you want an account, ask one of the people mentioned here. If you want to use it to do MediaWiki development, tools, or analytics, and they will probably say yes and set you up.

There's information on Wikimedia Labs outlining how to access Wikimedia's Git installation once your account is setup.

Step 3: Request space for your extension
You'll be telling us your Wikimedia Labs username, what code review model you want, what paths in trunk/branches/tags you want, what you want the project name in gerrit to be, and (if this is an existing Subversion repository) giving us a link to your community consensus that you want to move to git. Click request, then fill in the fields on the page creation screen:

Step 4: Commit your extension
Once your extension's space is setup, you can commit your files and continue your work utilizing Git.

Step 5: Publish an extension page
To autocategorize and standardize the documentation of your existing extension, please see Template:Extension. To add your new extension to this Wiki:

Git specific templates

 * WikimediaGitCheckout

Step 6: Continue development and enjoy!
You'll likely start to get reviews at this point for code style. You can get a jump on those by reading over coding conventions and security for developers, and making sure that your code follows these guidelines.

Find a couple of established MediaWiki hackers to look over your code and point out any flaws in it. For example, they may point you to another extension that is already in use whose functionality duplicates what you want, or could be easily extended to do what you want. In that case, you should use your newly-acquired Git access to work on the extension that is already available.