Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Becker2015-02-18 20:45:56 +0000
committerFrank Becker2015-03-16 20:29:50 +0000
commitf15bbb75adcc175ff36114f90059a2678ce89693 (patch)
tree14f200c73a2f1405cd22ff592c54319eab89fda1 /org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm
parent5386bb0f2e272965f9ee1ebe8f117d301f325c26 (diff)
downloadorg.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.tar.gz
org.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.tar.xz
org.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.zip
460285: [relang] support Git and Gerrit urls in see Also
Change-Id: Ia4ce8b7d15215bcceecc1256fcad4778bf4042df Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=460285
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm')
-rw-r--r--org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm45
1 files changed, 45 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm
new file mode 100644
index 000000000..6eaf64e98
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+package Bugzilla::Extension::Mylyn::Gerrit;
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use parent qw(Bugzilla::BugUrl);
+
+###############################
+#### Methods ####
+###############################
+
+sub should_handle {
+ my ($class, $uri) = @_;
+
+ # Gerrit Change URL: https://git.eclipse.org/r/#/c/26613/
+ # Gerrit Change URL, specific patch set: https://git.eclipse.org/r/#/c/26613/4
+ # https://git.eclipse.org/r/40031
+ return ( ($uri->path =~ m|^/r/$| and $uri->fragment =~ m|^/c/\d+|) ||
+ $uri->path =~ m|^/r/\d+|) ? 1 : 0;
+}
+
+sub _check_value {
+ my ($class, $uri) = @_;
+
+ $uri = $class->SUPER::_check_value($uri);
+
+ # While Gerrit URLs can be either HTTP or HTTPS,
+ # always go with the HTTP scheme, as that's the default.
+ if ($uri->scheme eq 'http') {
+ $uri->scheme('https');
+ }
+
+ return $uri;
+}
+
+1;
+

Back to the top