Git/Conversion/issues

There's a lot of folks wanting to migrate MediaWiki to git distributed source control, but there are a few issues still to sort out. This page is meant to lay out a few of those and make sure we know what needs to be done; please consider this a discussion aid, not a formal todo list.

svn2git failures
We cannot currently export anything other than phase3 -- investigating.
 * I *think* this is a weird edge-case bug you hit when you've got a malformed rule missing a trailing /. I *think*.

Localization
First, a brief overview of the localization process today:


 * 1) code is checked into SVN which adds or changes localized messages
 * 2) Translatewiki.net's automated updates import the new messages into the wiki for editing
 * 3) ... translators edit new or old messages ...
 * 4) Siebrand runs translatewiki.net's scripts to export localized messages back to files in the source tree
 * 5) * and may have to manually resolve conflicts
 * 6) * and may have to manually edit calling source code to correct formatting errors, misuse of options, bad description comments
 * 7) * and then commits it to upstream SVN

This process isn't inherently unfriendly to git -- it works pretty much the same way for l10n updates for StatusNet -- however the issue of may complicate this.

StatusNet's git repository today stores all plugins in the same repo as core, which behaves about the same as MediaWiki's SVN situation.

If instead we put each extension in a separate repository, then the process will need many more checkouts and more commits to run a full update on everything. Not impossible, but would at least require changes to Translatewiki.net's processes to make it manageable.

Code review workflow
We're working on the code review workflow that will use git-review and gerrit (or possibly Phabricator). We'll need to improve whatever we use as a user interface to do this -- see https://labsconsole.wikimedia.org/wiki/Gerrit_bugs_that_matter.

Other
Our timeline and Git/Conversion also include some issues that need addressing.