Page MenuHomePhabricator

Run cleanupTitles.php on all wikis that have $wgCapitalLinks set to false
Closed, ResolvedPublic

Description

On [en] wiktionary, there is an xslt file (for use with the xslt option of the api) called [[wikt:mediawiki:extractFirst.xsl]]. Since the software update, it appears that pages in the mediawiki and mediwiki talk namespace have their first letter case insensitive, even on wikis where normal pages can begin with a lowercase letter.

Thus it is now impossible to access [[wikt:mediawiki:extractFirst.xsl]] as it gets converted to [[wikt:mediawiki:ExtractFirst.xsl]] (Which does not exist).


Version: unspecified
Severity: critical
URL: http://en.wiktionary.org/wiki/MediaWiki_talk:extractFirst.xsl

Details

Reference
bz23147

Event Timeline

bzimport raised the priority of this task from to High.Nov 21 2014, 11:02 PM
bzimport set Reference to bz23147.
bzimport added a subscriber: Unknown Object (MLST).

Looks like its caused by r57558 . If some namespaces switched capitalization, shouldn't a maintence script be run to fix the broken pages that started with a lowercase letter?

Bryan.TongMinh wrote:

cleanupTitles.php should be run on all wiktionaries and other wikis that have wgCapitalLinks set to false.

jeluf wrote:

There are problems when running cleanupTitles:

$ php maintenance/cleanupTitles.php angwiktionary --fix|grep -v done.on.page
Checking and fixing bad titles...
Processing page...

page 993 (Syndrig:Níwlicahwierfunga) doesn't match self.
renaming 993 (-1,'Níwlicahwierfunga') to (-1,'Níwlicahwierfunga')

page 3379 (Syndrig:Hlíetlictramet) doesn't match self.
renaming 3379 (-1,'Hlíetlictramet') to (-1,'Hlíetlictramet')

page 4799 (Syndrig:Hlíetlictramet) doesn't match self.
renaming 4799 (0,'Syndrig:Hlíetlictramet') to (-1,'Hlíetlictramet')
A database query syntax error has occurred.
The last attempted database query was:
"UPDATE page SET page_namespace = '-1',page_title = 'Hlíetlictramet' WHERE page_id = '4799'"
from within function "TitleCleanup::moveInconsistentPage".
Database returned error "1062: Duplicate entry '-1-Hlíetlictramet' for key 2 (10.0.6.27)"

cleanupTitles.php was unable to handle such cases. Fixed in r64966.

I don't see the change done on wmf-deployment nor 1.16wmf4. Shouldn't it have passed through it before being run?
Should I do myself the backport?