On Nov 8, 2012, at 11:08 PM, Tim Starling tstarling@wikimedia.org wrote:
All extension branches were removed during the migration to Git. Very few extensions have branches for MW core major version support. There's no longer a simple way to branch all extensions when a core release is updated, and nobody has volunteered to write a script.
Such as script is easy to write, and Chad wrote one just now.
But, why would we want to do the auto-branching again? This was a natural side-effect of our directory structure and use of Subversion. Now that we have a choice, I don't think we should be auto-branching all extension on a MediaWiki core release.
Extension maintainers should be able to decide when and where to branch. So that they don't have to backport changes just because someone at the foundation decided to branch all extensions.
Given that ExtensionDistributor will support Git branches soon[1] (by listing the branch names of that extensions' git repo in the drop down menu), I think everything is done.
Given this, I think code reviewers should insist on backwards compatibility with MW 1.20 for commits to the master branch of extensions that are commonly used outside Wikimedia, at least until the release management issue is solved.
That makes perfect sense. The master branch should always be compatible with releases between it and the latest branch made. So when an extension has a REL1_19 and REL1_20 branch, and MediaWiki core is on 1.22-alpha, then git master branch should support 1.21 and 1.22-alpha (if and until the extension maintainer decides that compatibility needs to be broken and makes a REL1_21 branch).
-- Krinkle