http://www.mediawiki.org/wiki/Special:Code/MediaWiki/82792
Revision: 82792
Author: reedy
Date: 2011-02-25 13:08:05 +0000 (Fri, 25 Feb 2011)
Log Message:
-----------
Per r82788, factor out bug matching regex
Modified Paths:
--------------
trunk/extensions/CodeReview/backend/CodeCommentLinker.php
trunk/extensions/CodeReview/backend/CodeRevision.php
trunk/extensions/CodeReview/ui/CodeReleaseNotes.php
Modified: trunk/extensions/CodeReview/backend/CodeCommentLinker.php
===================================================================
--- trunk/extensions/CodeReview/backend/CodeCommentLinker.php 2011-02-25
11:48:14 UTC (rev 82791)
+++ trunk/extensions/CodeReview/backend/CodeCommentLinker.php 2011-02-25
13:08:05 UTC (rev 82792)
@@ -25,7 +25,7 @@
array( $this, 'generalLink' ), $text );
$text = preg_replace_callback( '/\br(\d+)\b/',
array( $this, 'messageRevLink' ), $text );
- $text = preg_replace_callback( '/\bbug ?#?(\d+)\b/i',
+ $text = preg_replace_callback( CodeRevision::BugReference,
array( $this, 'messageBugLink' ), $text );
return $text;
}
Modified: trunk/extensions/CodeReview/backend/CodeRevision.php
===================================================================
--- trunk/extensions/CodeReview/backend/CodeRevision.php 2011-02-25
11:48:14 UTC (rev 82791)
+++ trunk/extensions/CodeReview/backend/CodeRevision.php 2011-02-25
13:08:05 UTC (rev 82792)
@@ -3,6 +3,14 @@
class CodeRevision {
/**
+ * Regex to match bug mentions in comments, commit summaries, etc
+ *
+ * Examples:
+ * bug 1234, bug1234, bug #1234, bug#1234
+ */
+ const BugReference = '/\bbug ?#?(\d+)\b/';
+
+ /**
* @var CodeRepository
*/
protected $repo;
@@ -476,7 +484,7 @@
// Update bug references table...
$affectedBugs = array();
$m = array();
- if ( preg_match_all( '/\bbug ?#?(\d+)\b/', $this->message, $m )
) {
+ if ( preg_match_all( self::BugReference, $this->message, $m ) )
{
$data = array();
foreach ( $m[1] as $bug ) {
$data[] = array(
Modified: trunk/extensions/CodeReview/ui/CodeReleaseNotes.php
===================================================================
--- trunk/extensions/CodeReview/ui/CodeReleaseNotes.php 2011-02-25 11:48:14 UTC
(rev 82791)
+++ trunk/extensions/CodeReview/ui/CodeReleaseNotes.php 2011-02-25 13:08:05 UTC
(rev 82792)
@@ -135,12 +135,22 @@
return $summary;
}
- // Quick relevance tests (these *should* be over-inclusive a little if
anything)
+ /**
+ * Quick relevance tests (these *should* be over-inclusive a little if
anything)
+ *
+ * @param $summary
+ * @param bool $whole
+ * @return bool|int
+ */
private function isRelevant( $summary, $whole = true ) {
- # Fixed a bug? Mentioned a config var?
- if ( preg_match( '/\b(bug ?#?(\d+)|\$[we]g[0-9a-z]{3,50})\b/i',
$summary ) ) {
+ # Mentioned a bug?
+ if ( preg_match( CodeRevision::BugReference, $summary) ) {
return true;
}
+ #Mentioned a config var?
+ if ( preg_match( '/\b\$[we]g[0-9a-z]{3,50}\b/i', $summary ) ) {
+ return true;
+ }
# Sanity check: summary cannot be *too* short to be useful
$words = str_word_count( $summary );
if ( mb_strlen( $summary ) < 40 || $words <= 5 ) {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs