https://www.mediawiki.org/wiki/Special:Code/MediaWiki/115114
Revision: 115114 Author: aaron Date: 2012-05-02 23:40:25 +0000 (Wed, 02 May 2012) Log Message: ----------- Updated activeMWVersions to handle * for extended version numbers. Modified Paths: -------------- trunk/tools/mwmultiversion/multiversion/activeMWVersions trunk/tools/mwmultiversion/multiversion/switchAllMediaWikis Modified: trunk/tools/mwmultiversion/multiversion/activeMWVersions =================================================================== --- trunk/tools/mwmultiversion/multiversion/activeMWVersions 2012-05-02 23:35:21 UTC (rev 115113) +++ trunk/tools/mwmultiversion/multiversion/activeMWVersions 2012-05-02 23:40:25 UTC (rev 115114) @@ -21,39 +21,29 @@ array_shift( $options ); // first item is this file if ( in_array( '--home', $options ) ) { - $path = MULTIVER_CDB_DIR_HOME . '/wikiversions.dat'; + $datPath = MULTIVER_CDB_DIR_HOME . '/wikiversions.dat'; } else { - $path = MULTIVER_CDB_DIR_APACHE . '/wikiversions.dat'; + $datPath = MULTIVER_CDB_DIR_APACHE . '/wikiversions.dat'; } - $verList = array_filter( explode( "\n", file_get_contents( $path ) ) ); - if ( !count( $verList ) ) { + # Get all the wikiversion rows in wikiversions.dat... + try { + $versionRows = MWWikiversions::readWikiVersionsFile( $datPath ); + } catch( Exception $e ) { if ( in_array( '--report', $options ) ) { - echo( "Unable to read wikiversions.dat.\n" ); + throw $e; // show error + } else { + die( 1 ); // silent death } - die( 1 ); } $result = $activeVersions = array(); - foreach ( $verList as $row ) { - $items = explode( ' ', trim( $row ) ); - $dbName = $items[0]; - $version = $items[1]; - $extVersion = isset( $items[2] ) ? $items[2] : ''; - - if ( substr( $version, 0, 4 ) !== 'php-' ) { - if ( in_array( '--report', $options ) ) { - echo( "Unable to read wikiversions.dat entry: $version.\n" ); - } - die( 1 ); - } - $version = substr( $version, 4 ); // remove 'php-' - - if ( $extVersion !== '' && in_array( '--extended', $options ) ) { + foreach ( $versionRows as $row ) { + list( $dbName, $version, $extVersion, $comment ) = $row; + if ( $extVersion !== '*' && in_array( '--extended', $options ) ) { $version .= "-$extVersion"; } - - if ( !isset( $activeVersions[$version] ) ) { + if ( !isset( $activeVersions[$version] ) ) { // already listed? $activeVersions[$version] = 1; if ( in_array( '--withdb', $options ) ) { $result[] = "{$version}={$dbName}"; @@ -61,6 +51,7 @@ $result[] = "{$version}"; } } + } return implode( ' ', $result ); Modified: trunk/tools/mwmultiversion/multiversion/switchAllMediaWikis =================================================================== --- trunk/tools/mwmultiversion/multiversion/switchAllMediaWikis 2012-05-02 23:35:21 UTC (rev 115113) +++ trunk/tools/mwmultiversion/multiversion/switchAllMediaWikis 2012-05-02 23:40:25 UTC (rev 115114) @@ -82,7 +82,7 @@ ( $retVal == 0 ) or die( 1 ); echo "Re-configured $count wiki(s) from $oldVersion to $newVersion.\n"; - echo "The DB list contained " . count( $dbList ) . " wikis.\n"; + echo "The DB list contained " . count( $dbList ) . " wiki(s).\n"; } switchAllMediaWikis(); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs