* Allow page moves over historyless self-redirects. Such are usually created
authorBrion Vibber <brion@users.mediawiki.org>
Wed, 28 Jun 2006 20:31:04 +0000 (20:31 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Wed, 28 Jun 2006 20:31:04 +0000 (20:31 +0000)
  as part of namespace rearrangements, and it's easier to clean them up if
  we can move over them.
* Show some error results in moveBatch.php

RELEASE-NOTES
includes/Title.php
maintenance/moveBatch.php

index 3b79016..9a2e7aa 100644 (file)
@@ -591,6 +591,10 @@ Some default configuration options have changed:
 * Added Latvian localization (lv)
 * (bug 6472) Fix regression in Special:Export with multiple pages
 * Update to Macedonian translation (mk)
+* Allow page moves over historyless self-redirects. Such are usually created
+  as part of namespace rearrangements, and it's easier to clean them up if
+  we can move over them.
+* Show some error results in moveBatch.php
 
 
 == Compatibility ==
index 6c29bc6..da0e589 100644 (file)
@@ -2009,19 +2009,24 @@ class Title {
 
                if ( !$obj || 0 == $obj->page_is_redirect ) {
                        # Not a redirect
+                       wfDebug( __METHOD__ . ": not a redirect\n" );
                        return false;
                }
                $text = Revision::getRevisionText( $obj );
 
                # Does the redirect point to the source?
+               # Or is it a broken self-redirect, usually caused by namespace collisions?
                if ( preg_match( "/\\[\\[\\s*([^\\]\\|]*)]]/", $text, $m ) ) {
                        $redirTitle = Title::newFromText( $m[1] );
                        if( !is_object( $redirTitle ) ||
-                               $redirTitle->getPrefixedDBkey() != $this->getPrefixedDBkey() ) {
+                               ( $redirTitle->getPrefixedDBkey() != $this->getPrefixedDBkey() &&
+                               $redirTitle->getPrefixedDBkey() != $nt->getPrefixedDBkey() ) ) {
+                               wfDebug( __METHOD__ . ": redirect points to other page\n" );
                                return false;
                        }
                } else {
                        # Fail safe
+                       wfDebug( __METHOD__ . ": failsafe\n" );
                        return false;
                }
 
index ae47008..8d7141c 100644 (file)
@@ -68,7 +68,10 @@ for ( $linenum = 1; !feof( $file ); $linenum++ ) {
 
        print $source->getPrefixedText();
        $dbw->begin();
-       $source->moveTo( $dest, false, $reason );
+       $err = $source->moveTo( $dest, false, $reason );
+       if( $err !== true ) {
+               print "\nFAILED: $err";
+       }
        $dbw->immediateCommit();
        print "\n";