* 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:
parent
98348c9154
commit
eea37c0819
3 changed files with 14 additions and 2 deletions
|
|
@ -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 ==
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue