The problem with our current VCS is the sort of work-flow that has
developed around it.
But we can solve the work-flow problem without introducing an entirely
new VCS and disrupting everything for a month or so while people adjust
to the new system.
The solution I'm proposing is that we branch 1.18 immediately after the
release of the 1.17 tarball.
Revisions marked “OK” (or, perhaps, tagged “118”) on the trunk could be
merged to the 1.18 branch. Or, to make merging into 1.18 less of a
chore for a single person, we could enable those doing code review to
merge code they've reviewed into the 1.18 branch. In this way, we
achieve Roan's (and my) goal of continuous integration.
This also put the onus on the individual developers to make sure that
their code gets reviewed and that problems found get fixed.
As a bonus, we could set a date *now* to make the 1.18 release and then
just release whatever is in the 1.18 branch on that day.
I think we need a few goals thrown in to make this really good — I
propose “1.18 will include a web UI for configuring MediaWiki” and “1.18
will cut the number of global variables in half” to pick two of my
personal favorites — but I think the work-flow of how MediaWiki is
prepared for release needs to be addressed.
Mark.