RepoGroup::singleton()->clearCache( $this->newTitle ); # clear false negative cache
}
- $dbw->begin( __METHOD__ ); # If $file was a LocalFile, its transaction would have closed our own.
+ $dbw->startAtomic( __METHOD__ );
$pageid = $this->oldTitle->getArticleID( Title::GAID_FOR_UPDATE );
$protected = $this->oldTitle->isProtected();
WatchedItem::duplicateEntries( $this->oldTitle, $this->newTitle );
}
- $dbw->commit( __METHOD__ );
+ $dbw->endAtomic( __METHOD__ );
+
+ $params = array( $this->oldTitle, $this->newTitle, $user, $pageid, $redirid, $reason );
+ $dbw->onTransactionIdle( function () use ( $params ) {
+ Hooks::run( 'TitleMoveComplete', $params );
+ } );
- Hooks::run(
- 'TitleMoveComplete',
- array( &$this->oldTitle, &$this->newTitle, &$user, $pageid, $redirid, $reason )
- );
return Status::newGood();
}