1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#!/usr/bin/lua
-- Abbreviate according to
-- https://en.opensuse.org/openSUSE:Packaging_Patches_guidelines#Current_set_of_abbreviations
local str = ''
if #arg == 0 then
str = io.read("*l")
else
str = arg[1]:lower()
end
str = str:gsub("https?://github.com/(.*)/issues/(%d+)", "gh#%1#%2")
str = str:gsub("https?://github.com/(.*)/pull/(%d+)", "gh#%1#%2")
str = str:gsub("https?://github.com/(.*)/discussions/(%d+)", "gh#%1!%2")
str = str:gsub("https?://github.com/(.*)/commit/(%w+)", function (r, i)
return "gh#" .. r .. "@" .. i:sub(1, 12)
end)
str = str:gsub("https?://gitlab.com/(.*)/issues/(%d+)", "gl#%1#%2")
str = str:gsub("https?://gitlab.com/(.*)/pull/(%d+)", "gl#%1#%2")
str = str:gsub("https?://gitlab.com/(.*)/-/issues/(%d+)", "gl#%1#%2")
str = str:gsub("https?://gitlab.com/(.*)/-/pull/(%d+)", "gl#%1#%2")
str = str:gsub("https?://gitlab.com/(.*)/-/merge-requests/(%d+)", "gl#%1#%2")
str = str:gsub("https?://sourceforge.net/support/tracker.php%?aid=(%d+)", "sh#%1")
str = str:gsub("https?://sf.net/support/tracker.php%?aid=(%d+)", "sh#%1")
str = str:gsub("https?://sourceforge.net/p/(.*)/patches/(%d+)/", "shp#%1#%2")
str = str:gsub("https?://sourceforge.net/p/(.*)/bugs/(%d+)/", "shb#%1#%2")
str = str:gsub("https?://sourceforge.net/p/(.*)/tickets/(%d+)/", "sht#%1#%2")
str = str:gsub("https?://sf.net/support/p/(.*)/patches/(%d+)/", "shp#%1#%2")
str = str:gsub("https?://sf.net/support/p/(.*)/bugs/(%d+)/", "shb#%1#%2")
str = str:gsub("https?://sf.net/support/p/(.*)/tickets/(%d+)/", "sht#%1#%2")
str = str:gsub("https?://bitbucket.org/(.*)/issues/(%d+)/", "bt#%1#%2")
str = str:gsub("https?://build.suse.de/request/show/(%d+)", "ssr#%1")
str = str:gsub("https?://build.opensuse.org/request/show/(%d+)", "sr#%1")
str = str:gsub("https?://bugzilla.opensuse.org/show_bug.cgi%?id=(%d+)", "boo#%1")
str = str:gsub("https?://bugzilla.opensuse.org/(%d+)", "boo#%1")
str = str:gsub("https?://bugzilla.suse.com/show_bug.cgi%?id=(%d+)", "bsc#%1")
str = str:gsub("https?://bugzilla.suse.com/(%d+)", "bsc#%1")
str = str:gsub("https?://bugzilla.redhat.com/show_bug.cgi%?id=(%d+)", "rh#%1")
str = str:gsub("https?://bugzilla.redhat.com/(%d+)", "rh#%1")
str = str:gsub("https?://bugzilla.mozilla.org/show_bug.cgi%?id=(%d+)", "bmo#%1")
str = str:gsub("https?://bugzilla.mozilla.org/(%d+)", "bmo#%1")
str = str:gsub("https?://bugs.documentfoundation.org/show_bug.cgi%?id=(%d+)", "tdf#%1")
str = str:gsub("https?://bugs.documentfoundation.org/(%d+)", "tdf#%1")
str = str:gsub("https?://jira.suse.com/browse/(%a+)", "jsc#%1")
str = str:gsub("https?://bugs.python.org/issue(%d+)", "bpo#%1")
str = str:gsub("https?://bugs.launchpad.net/.+/%+bug/(%d+)", "lp#%1")
str = str:gsub("https?://www.python.org/dev/peps/pep%-(%d+)/?", "pep#%1")
str = str:gsub("https?://svn.boost.org/trac/boost/(%d+)", "boost#%1")
str = str:gsub("https?://rt.cpan.org/Public/(%d+)", "RT#%1")
str = str:gsub("https?://bugs.debian.org/(%d+)", "deb#%1")
str = str:gsub("https?://bugs.freedesktop.org/(%d+)", "fdo#%1")
str = str:gsub("https?://gitlab.freedesktop.org/(%a+)/issues/(%d+)", "glfo#%1#%2")
str = str:gsub("https?://gcc.gnu.org/bugzilla/(%d+)", "gcc#%1")
str = str:gsub("https?://gitlab.gnome.org/(%a+)/issues/(%d+)", "glgo#%1#%2")
str = str:gsub("https?://bugs.kde.org/(%d+)", "kde#%1")
str = str:gsub("https?://api.github.com/repos/openSUSE/open-build-service/issues/(%d+)", "obs#%1")
str = str:gsub("https?://api.github.com/repos/openSUSE/obs-build/issues/(%d+)", "build#%1")
str = str:gsub("https?://api.github.com/repos/openSUSE/osc/issues/(%d+)", "osc#%1")
str = str:gsub("https?://progress.opensuse.org/issues/(%d+)", "poo#%1")
str = str:gsub("https?://developerbugs.linux-foundation.org/(%d+)", "lf#%1")
print(str)
|