mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Use gitlab-friendly URLs when formatting changelogs as HTML
Our old https://bugs.torproject.org/nnnn URLs only work for bugs numbered before 40000. Newer gitlab bugs need to have specific projects mentioned. This patch assumes that bugs are in tpo/core/tor by default, but allows us to refer to several other projects by saying e.g. "chutney#40002" if we want.
This commit is contained in:
parent
07f3345e11
commit
09601c3c4d
@ -405,10 +405,31 @@ class ChangeLog(object):
|
|||||||
self.dumpEndOfSections()
|
self.dumpEndOfSections()
|
||||||
self.dumpEndOfChangelog()
|
self.dumpEndOfChangelog()
|
||||||
|
|
||||||
|
# Map from issue prefix to pair of (visible prefix, url prefix)
|
||||||
|
ISSUE_PREFIX_MAP = {
|
||||||
|
"" : ( "", "tpo/core/tor" ),
|
||||||
|
"tor#" : ( "", "tpo/core/tor" ),
|
||||||
|
"chutney#" : ( "chutney#", "tpo/core/chutney" ),
|
||||||
|
"torspec#" : ( "torspec#", "tpo/core/torspec" ),
|
||||||
|
"trunnel#" : ( "trunnel#", "tpo/core/trunnel" ),
|
||||||
|
"torsocks#" : ( "torsocks#", "tpo/core/torsocks"),
|
||||||
|
}
|
||||||
|
|
||||||
# Let's turn bugs to html.
|
# Let's turn bugs to html.
|
||||||
BUG_PAT = re.compile('(bug|ticket|issue|feature)\s+(\d{4,5})', re.I)
|
BUG_PAT = re.compile('(bug|ticket|issue|feature)\s+([\w/]+#)?(\d{4,6})', re.I)
|
||||||
def bug_html(m):
|
def bug_html(m):
|
||||||
return "%s <a href='https://bugs.torproject.org/%s'>%s</a>" % (m.group(1), m.group(2), m.group(2))
|
kind = m.group(1)
|
||||||
|
prefix = m.group(2) or ""
|
||||||
|
bugno = m.group(3)
|
||||||
|
try:
|
||||||
|
disp_prefix, url_prefix = ISSUE_PREFIX_MAP[prefix]
|
||||||
|
except KeyError:
|
||||||
|
print("Can't figure out URL for {}{}".formt(prefix,bugno),
|
||||||
|
file=sys.stderr)
|
||||||
|
return "{} {}{}".format(kind, prefix, bugno)
|
||||||
|
|
||||||
|
return "{} <a href='https://bugs.torproject.org/{}/{}'>{}{}</a>".format(
|
||||||
|
kind, url_prefix, bugno, disp_prefix, bugno)
|
||||||
|
|
||||||
class HTMLChangeLog(ChangeLog):
|
class HTMLChangeLog(ChangeLog):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
Loading…
Reference in New Issue
Block a user