From 4205e28ef5c979f13020526c306231d751528ef5 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Tue, 6 May 2008 11:54:20 +0000 Subject: [PATCH] Introduce svn-revision in $wgExtensionCredits for fast extension version specification. --- includes/DefaultSettings.php | 3 ++- includes/SpecialVersion.php | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 42ee7b56a1..23c9f5ce6b 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -2203,7 +2203,8 @@ $wgAutoloadClasses = array(); * * $wgExtensionCredits[$type][] = array( * 'name' => 'Example extension', - * 'version' => 1.9, + * 'version' => 1.9, + * 'svn-revision' => '$LastChangedRevision$', * 'author' => 'Foo Barstein', * 'url' => 'http://wwww.example.com/Example%20Extension/', * 'description' => 'An example extension', diff --git a/includes/SpecialVersion.php b/includes/SpecialVersion.php index ef4da5e4e2..38dd3355cc 100644 --- a/includes/SpecialVersion.php +++ b/includes/SpecialVersion.php @@ -135,9 +135,20 @@ class SpecialVersion { usort( $wgExtensionCredits[$type], array( $this, 'compare' ) ); foreach ( $wgExtensionCredits[$type] as $extension ) { + if ( isset( $extension['version'] ) ) { + $version = $extension['version']; + } elseif ( isset( $extension['svn-revision'] ) && + preg_match( '/\$(?:Rev|LastChangedRevision|Revision): *(\d+)/', + $extension['svn-revision'], $m ) ) + { + $version = 'r' . $m[1]; + } else { + $version = null; + } + $out .= $this->formatCredits( isset ( $extension['name'] ) ? $extension['name'] : '', - isset ( $extension['version'] ) ? $extension['version'] : null, + $version, isset ( $extension['author'] ) ? $extension['author'] : '', isset ( $extension['url'] ) ? $extension['url'] : null, isset ( $extension['description'] ) ? $extension['description'] : '', -- 2.20.1