diff options
Diffstat (limited to 'maintenance/storage/checkStorage.php')
-rw-r--r-- | maintenance/storage/checkStorage.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/maintenance/storage/checkStorage.php b/maintenance/storage/checkStorage.php index fd9393f2..03dc113a 100644 --- a/maintenance/storage/checkStorage.php +++ b/maintenance/storage/checkStorage.php @@ -22,7 +22,7 @@ */ if ( !defined( 'MEDIAWIKI' ) ) { - require_once( __DIR__ . '/../commandLine.inc' ); + require_once __DIR__ . '/../commandLine.inc'; $cs = new CheckStorage; $fix = isset( $options['fix'] ); @@ -75,7 +75,7 @@ class CheckStorage { 'fixable' => array(), ); - for ( $chunkStart = 1 ; $chunkStart < $maxRevId; $chunkStart += $chunkSize ) { + for ( $chunkStart = 1; $chunkStart < $maxRevId; $chunkStart += $chunkSize ) { $chunkEnd = $chunkStart + $chunkSize - 1; // print "$chunkStart of $maxRevId\n"; @@ -443,18 +443,26 @@ class CheckStorage { function importRevision( &$revision, &$importer ) { $id = $revision->getID(); - $text = $revision->getText(); + $content = $revision->getContent( Revision::RAW ); + $id = $id ? $id : ''; + + if ( $content === null ) { + echo "Revision $id is broken, we have no content available\n"; + return; + } + + $text = $content->serialize(); if ( $text === '' ) { // This is what happens if the revision was broken at the time the // dump was made. Unfortunately, it also happens if the revision was // legitimately blank, so there's no way to tell the difference. To // be safe, we'll skip it and leave it broken - $id = $id ? $id : ''; + echo "Revision $id is blank in the dump, may have been broken before export\n"; return; } - if ( !$id ) { + if ( !$id ) { // No ID, can't import echo "No id tag in revision, can't import\n"; return; |