use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\RevisionRecord;
+use MediaWiki\Revision\RevisionArchiveRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRecord;
if ( !$fromRelRev ) {
$this->dieWithError( 'apierror-compare-relative-to-nothing' );
}
+ if ( $params['torelative'] !== 'cur' && $fromRelRev instanceof RevisionArchiveRecord ) {
+ // RevisionStore's getPreviousRevision/getNextRevision blow up
+ // when passed an RevisionArchiveRecord for a deleted page
+ $this->dieWithError( [ 'apierror-compare-relative-to-deleted', $params['torelative'] ] );
+ }
switch ( $params['torelative'] ) {
case 'prev':
// Swap 'from' and 'to'