Last modified: 2013-06-06 15:43:42 UTC
Looks like we forgot to create REL1_21 branches in extension repositories. Though 1.21.0 was only released a few hours ago it is too late to branch them from master since we've been in the 1.22 cycle for several weeks now (REL1_21 was branched from master in mediawiki/core a few weeks ago and released now). Roan determined that the following commit is where master and REL1_21 diverged, so we need to use that date/time to backdate the branch: > $ git show 1f0fcc0f39211375f03e2e6e87fd5be179eff231 --pretty=fuller > commit 1f0fcc0f39211375f03e2e6e87fd5be179eff231 > Merge: 1b2c997 0f475b4 > Author: jenkins-bot <jenkins-bot@gerrit.wikimedia.org> > AuthorDate: Mon Mar 18 16:15:20 2013 +0000 Commit: Gerrit Code Review <gerrit@wikimedia.org> > CommitDate: Mon Mar 18 16:15:20 2013 +0000 > In: master, 1.21.0 This was determined from `git log --right-only gerrit/master...gerrit/REL1_21` and taking the parent (~`) from the last one. For all extensions we should branch at the closest one before or at "Mon Mar 18 16:15:20 2013 +0000". However, unfortunately the 1.21.0 bundle was created with the latest master heads of the bundled extensions, so we need to make an exception for those (provided by hexmode): Cite commit ba162a9464e23b6bea650a9c88ca9015c5ee0161 ConfirmEdit commit d696422c1afcd2863c36e3a13d6849c4e276ada0 Gadgets commit 867ccb19b47744df4f001a196ceea5f0b095a6f1 ImageMap commit 53c32896950071188ff793b532cf570233bea4ff InputBox commit 6c7f0edd57fac035211b2711123e8e37b2a323eb Interwiki commit 11a44da02b9b7003e440bd1cc10a219a583cdee1 LocalisationUpdate commit 7ce3c105ac75da0868260d3eacc9939818b6328f Nuke commit 8ae2ea0506ba3bfe6319d96955a5ac72fa464596 ParserFunctions commit 94cd358db925d63389609f765f81da831e5d5793 PdfHandler commit e3492c305195f948114e44117318ed3b296c9474 Poem commit 05a14a2e456378fc9ada55b7fa959976ac1a2182 Renameuser commit b7b5c2a529de35e634a0567cb11069981a3206f8 SpamBlacklist commit 26ebbf77672355c22cb30db87bafb114b1d84888 SyntaxHighlight_GeSHi commit 610d1789bdd73251101b2820039e0462a7ac3b2b TitleBlacklist commit 6fb13dd81d565583a9619f89d1183eaa6b02b317 Vector commit 39fea296f3a0d3083ec90dce892c9c3c43fa61a4 WikiEditor commit be8858a43b1516ec76b1d0bc82ca5e7abafde33a
(In reply to comment #0) > Roan determined that the following commit is where master and REL1_21 > diverged, so we need to use that date/time to backdate the branch: CC'ing Greg only because this is probably something to add to some MediaWiki branching/deployment document, to avoid the same mistake for 1.22 in 5 months.
So, this is more of a concern for tarbal creation, instead of actual deployments to WMF servers, correct? My understanding is we (WMF) branch from the extensions where it makes sense for us to do so, not necessarily (but it could be) from where the extension was at on a 1.2x release date (eg: every six months). Should this bug be moved to Mediawiki product and "general/unknown" component, instead (doing that now, undo if I'm wrong)? The REL1_23 branch should be cut in conjunction with the MediaWiki release manager's input.
Also adding Mark Hershberger here, to get his thoughts given his experience with the 1.21 release.
(In reply to comment #2) > So, this is more of a concern for tarball creation, instead of actual > deployments to WMF servers, correct? Right. I don't have time to branch the extensions at the moment. If anyone else can do that, I'd appreciate it.
(In reply to comment #2) > So, this is more of a concern for tarbal creation, instead of actual > deployments to WMF servers, correct? My understanding is we (WMF) branch from > the extensions where it makes sense for us to do so, not necessarily (but it > could be) from where the extension was at on a 1.2x release date (eg: every > six months). > All extension repositories must have a branch for each major released MediaWiki version, otherwise users are unable to download the extension through ExtensionDistributor. I don't think it makes sense to delay branching in relation to Wikimedia deployment as the two are pretty much unrelated. Wikimedia deployment doesn't use release branches but wmf/* branches. The branches in the extension repositories should be made at the same time the initial branching is done in MediaWiki core (not when the release is made, because at that time master has already progressed and is likely incompatible with the upcoming release). e.g.: time 1: mediawiki/core@master is v1-alpha time 2: mediawiki/core@REL1 is branched at commitX time 3: mediawiki/core@master is v2-alpha time 4: mediawiki/core@master gets new changes time 5: mediawiki/extension/Foo@master accommodates for the changes time 6: mediawiki/core@REL1 goes release candidate (v1-rc) time 7: mediawiki/core@master gets more changes time 8: mediawiki/extension/Foo@master accommodates for the changes time 9: mediawiki/core@REL1 goes stable (v1.0) At this point Foo needs to be branched as it was before 'time 5'. If we'd branch Foo@REL1 from its latest master it would be incompatible with mediawiki@REL1 since Foo has already been accommodated for new features introduced after mediawiki@REL1 was created. Ideally we do this at 'time 2' instead of afterwards. However since we keep forgetting this we need to do it afterwards. See earlier for more information, I hope this clears it up.
I'm on it.
The exceptions listed in comment 0 are now created. I'm now writing the script and then I'll run it for all extensions.
Related URL: https://gerrit.wikimedia.org/r/67031 (Gerrit Change Ia1a289c3aebcc958fd4d980705c351fa2abd6573)
Done.
Created attachment 12465 [details] Log of run (extracted from log) > Skipping AddMetaAndTitle: Repo does not have a commit before the branch date > Skipping Ads: Repo does not have a commit before the branch date > Skipping AJAXPoll: Branch exists already > Skipping BlueSpiceExtensions: Repo does not have a commit before the branch date > Skipping BlueSpiceFoundation: Repo does not have a commit before the branch date > Skipping Bootstrap: Repo does not have a commit before the branch date > Skipping BreadCrumbs2: Repo does not have a commit before the branch date > Skipping Censor: Repo does not have a commit before the branch date > Skipping Cite: Branch exists already > Skipping ConfirmEdit: Branch exists already > Skipping DeleteOwn: Repo does not have a commit before the branch date > Skipping ExtensionStatus: Repo does not have a commit before the branch date > Skipping ExternalArticles: Repo does not have a commit before the branch date > Skipping Gadgets: Branch exists already > Skipping GooglePlusOne: Repo does not have a commit before the branch date > Skipping Hovergallery: Repo does not have a commit before the branch date > Skipping ImageMap: Branch exists already > Skipping InputBox: Branch exists already > Skipping Interwiki: Branch exists already > Skipping Less: Repo does not have a commit before the branch date > Skipping ListTransclusions: Repo does not have a commit before the branch date > Skipping LocalisationUpdate: Branch exists already > Skipping LoopFunctions: Repo does not have a commit before the branch date > Skipping MetaDescriptionTag: Repo does not have a commit before the branch date > Skipping Moodle: Repo does not have a commit before the branch date > Skipping MsLinks: Repo does not have a commit before the branch date > Skipping MsUpload: Repo does not have a commit before the branch date > Skipping MultiAudioVideo: Repo does not have a commit before the branch date > Skipping Nostalgia: Repo does not have a commit before the branch date > Skipping Nuke: Branch exists already > Skipping OAuth: Repo does not have a commit before the branch date > Skipping ParserFunctions: Branch exists already > Skipping PdfHandler: Branch exists already > Skipping Poem: Branch exists already > Skipping PurposeCentricSearch: Repo does not have a commit before the branch date > Skipping QueryResult: Repo does not have a commit before the branch date > Skipping QuickResponse: Repo does not have a commit before the branch date > Skipping RealNames: Repo does not have a commit before the branch date > Skipping Renameuser: Branch exists already > Skipping SearchRealnames: Repo does not have a commit before the branch date > Skipping SpamBlacklist: Branch exists already > Skipping Spreadsheet: Repo does not have a commit before the branch date > Skipping StoryParagraph: Repo does not have a commit before the branch date > Skipping SyntaxHighlight_GeSHi: Branch exists already > Skipping Thanks: Repo does not have a commit before the branch date > Skipping TimezoneSelector: Repo does not have a commit before the branch date > Skipping TitleBlacklist: Branch exists already > Skipping TwnMainPage: Repo does not have a commit before the branch date > Skipping UserSnoop: Repo does not have a commit before the branch date > Skipping Vector: Branch exists already > Skipping Wikibase/easyrdf: Repo does not have a commit before the branch date > Skipping WikiEditor: Branch exists already > Skipping WikivotePageSchemas: Repo does not have a commit before the branch date
Thanks for taking care of this, Krinkle!