summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Færøy <ahf@torproject.org>2020-07-20 14:31:41 +0000
committerAlexander Færøy <ahf@torproject.org>2020-07-20 14:31:41 +0000
commit1642612c6edb27b4b777b14316c138f904a6f6b7 (patch)
tree92765294b1400fca4adcdc56ba9bf1827ef13b7d
parent1e9a87cb928a54c0f10ba7b2e066e17725082d77 (diff)
parent09601c3c4d468fdafa7aa290dd2b2949bdc5e7e0 (diff)
downloadtor-1642612c6edb27b4b777b14316c138f904a6f6b7.tar.gz
tor-1642612c6edb27b4b777b14316c138f904a6f6b7.zip
Merge branch 'maint-0.4.4' into release-0.4.4
-rwxr-xr-xscripts/maint/format_changelog.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/scripts/maint/format_changelog.py b/scripts/maint/format_changelog.py
index b37ece04c0..93ab56e257 100755
--- a/scripts/maint/format_changelog.py
+++ b/scripts/maint/format_changelog.py
@@ -405,10 +405,31 @@ class ChangeLog(object):
self.dumpEndOfSections()
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.
-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):
- 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):
def __init__(self, *args, **kwargs):