[mb-commits] branch, mbs-5696, updated. MBS-5696: Make ModBot leave schema independent URLs

MusicBrainz Git Server <[email protected]> Tue, 29 Jan 2013 12:05:09 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1U09w5-0001AF-GO@wiley>
The branch, mbs-5696 has been updated
  discards  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=fe9d7091c14c7f30b87f54b693bb7b5ed4b7db6b (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=95c57dbcf5fe255ac240d7327f27a232298d782b (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (fe9d7091c14c7f30b87f54b693bb7b5ed4b7db6b)
            \
             N -- N -- N (95c57dbcf5fe255ac240d7327f27a232298d782b)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Summary of changes:
 lib/MusicBrainz/Server/Filters.pm     |    3 ++-
 t/lib/t/MusicBrainz/Server/Filters.pm |    4 ++++
 2 files changed, 6 insertions(+), 1 deletions(-)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 95c57dbcf5fe255ac240d7327f27a232298d782b
Author: Oliver Charles <[email protected]>
Date:   Tue Jan 29 11:57:35 2013 +0000

    MBS-5696: Make ModBot leave schema independent URLs

diff --git a/lib/MusicBrainz/Server/Edit/Generic/Edit.pm b/lib/MusicBrainz/Server/Edit/Generic/Edit.pm
index 8bbbdd5..2bb1ccd 100644
--- a/lib/MusicBrainz/Server/Edit/Generic/Edit.pm
+++ b/lib/MusicBrainz/Server/Edit/Generic/Edit.pm
@@ -76,7 +76,7 @@ override 'accept' => sub
                 sprintf(
                     'The changes in this edit cause it to conflict with another artist. ' .
                     'You may need to merge this artist with "' . $conflict->name . '" ' .
-                    '(http://%s/artist/%s/).',
+                    '(//%s/artist/%s/).',
                     DBDefs->WEB_SERVER, $conflict->gid
                 )
             );
diff --git a/lib/MusicBrainz/Server/Filters.pm b/lib/MusicBrainz/Server/Filters.pm
index ba8f1da..ad26391 100644
--- a/lib/MusicBrainz/Server/Filters.pm
+++ b/lib/MusicBrainz/Server/Filters.pm
@@ -110,7 +110,7 @@ sub _display_trimmed {
         : $encoded_url;
 
     $encoded_url = "http://$encoded_url"
-        unless $encoded_url =~ m{^https?://};
+        unless $encoded_url =~ m{^(?:https?:)?//};
 
     return qq{<a href="$encoded_url">$display_url</a>};
 }
@@ -142,10 +142,10 @@ sub format_editnote
 
     # The following taken from http://daringfireball.net/2010/07/improved_regex_for_matching_urls
     $html =~ s{
-    \b
-    (                       # Capture 1: entire matched URL
+    (?:^|[^\w:])                             # Start with a non-word character (that is not :), or the beginning of the edit note.
+    (                                    # Capture 1: entire matched URL
       (?:
-        https?://               # http or https protocol
+        (?:https?:)?//               # http or https protocol
         |                       #   or
         www\d{0,3}[.]           # "www.", "www1.", "www2." … "www999."
         |                           #   or
diff --git a/t/lib/t/MusicBrainz/Server/Filters.pm b/t/lib/t/MusicBrainz/Server/Filters.pm
index 3c3ad28..ad5ca6e 100644
--- a/t/lib/t/MusicBrainz/Server/Filters.pm
+++ b/t/lib/t/MusicBrainz/Server/Filters.pm
@@ -16,8 +16,12 @@ test 'Edit note syntax' => sub {
     is(format_editnote("http://musicbrainz.org"),
        '<a href="http://musicbrainz.org">http://musicbrainz.org</a>');
 
-    is(format_editnote("https://musicbrainz.org"),
-       '<a href="https://musicbrainz.org">https://musicbrainz.org</a>');
+    is(format_editnote("//musicbrainz.org"),
+       '<a href="//musicbrainz.org">//musicbrainz.org</a>');
+
+    is(format_editnote("foo://musicbrainz.org"),
+       'foo://musicbrainz.org',
+       'Only http://, https://, and // match');
 
     is(format_editnote("www.musicbrainz.org"),
        '<a href="http://www.musicbrainz.org">www.musicbrainz.org</a>');

-----------------------------------------------------------------------


hooks/post-receive
-- 
mb_server

_______________________________________________
MusicBrainz-commits mailing list
[email protected]
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits