Legoktm has uploaded a new change for review. https://gerrit.wikimedia.org/r/226938
Change subject: Populate rev_content_model when a move causes default content model to change ...................................................................... Populate rev_content_model when a move causes default content model to change If the default content model changes due to a page move, a NULL in rev_content_model will now reference the new default, which is not how the revision was serialized, causing an exception to be thrown. This was caused by a5bc9f49cd01e, since previously NULL would use the correct, but techncially inaccurate, page_content_model. Bug: T105260 Change-Id: I0c29d0e657ad0b656e5da6ba365f337229ad4dfd --- M includes/MovePage.php 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/38/226938/1 diff --git a/includes/MovePage.php b/includes/MovePage.php index 9891106..964fbff 100644 --- a/includes/MovePage.php +++ b/includes/MovePage.php @@ -416,6 +416,13 @@ $redirectContent = null; } + // Figure out whether the content model is no longer the default + $oldDefault = ContentHandler::getDefaultModelFor( $this->oldTitle ); + $contentModel = $this->oldTitle->getContentModel(); + $newDefault = ContentHandler::getDefaultModelFor( $nt ); + $defaultContentModelChanging = ( $oldDefault !== $newDefault + && $oldDefault === $contentModel ); + // bug 57084: log_page should be the ID of the *moved* page $oldid = $this->oldTitle->getArticleID(); $logTitle = clone $this->oldTitle; @@ -493,6 +500,16 @@ $newpage->doEditUpdates( $nullRevision, $user, array( 'changed' => false, 'moved' => true, 'oldcountable' => $oldcountable ) ); + // If the default content model changes, we need to populate rev_content_model + if ( $defaultContentModelChanging ) { + $dbw->update( + 'revision', + array( 'rev_content_model' => $contentModel ), + array( 'rev_page' => $nt->getArticleID(), 'rev_content_model IS NULL' ), + __METHOD__ + ); + } + if ( !$moveOverRedirect ) { WikiPage::onArticleCreate( $nt ); } -- To view, visit https://gerrit.wikimedia.org/r/226938 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0c29d0e657ad0b656e5da6ba365f337229ad4dfd Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits