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.