* 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
This commit is contained in:
Brion Vibber 2006-06-28 20:31:04 +00:00
parent 98348c9154
commit eea37c0819
3 changed files with 14 additions and 2 deletions

View 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 ==

View 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;
}

View 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";