From 1a7dcb2961ec6c13a3eb02117df49f6c6d885397 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 08 2019 14:21:32 +0000 Subject: [PATCH 1/2] Add support for the `resolve` keyword among our magic words This adds support for `resolve` in the same way we support `close`. Fixes https://pagure.io/pagure/issue/4039 Signed-off-by: Pierre-Yves Chibon --- diff --git a/doc/usage/magic_words.rst b/doc/usage/magic_words.rst index 3d5a685..5b70c49 100644 --- a/doc/usage/magic_words.rst +++ b/doc/usage/magic_words.rst @@ -30,6 +30,7 @@ The recognized keywords are: - relate/related/relates - merge/merges/merged - close/closes/closed +- resolve/resolves/resolved Examples: diff --git a/pagure/lib/link.py b/pagure/lib/link.py index c64fe82..5cc7ecd 100644 --- a/pagure/lib/link.py +++ b/pagure/lib/link.py @@ -21,7 +21,7 @@ from pagure.config import config as pagure_config FIXES = [ re.compile(r"(?:.*\s+)?{0}?[sd]?:?\s*?#(\d+)".format(kw), re.I) - for kw in ["fixe", "merge", "close"] + for kw in ["fixe", "merge", "close", "resolve"] ] FIXES += [ re.compile( @@ -31,7 +31,7 @@ FIXES += [ ), re.I, ) - for kw in ["fixe", "merge", "close"] + for kw in ["fixe", "merge", "close", "resolve"] ] diff --git a/tests/test_pagure_lib_link.py b/tests/test_pagure_lib_link.py index 901cfe6..ab088c5 100644 --- a/tests/test_pagure_lib_link.py +++ b/tests/test_pagure_lib_link.py @@ -275,6 +275,12 @@ class PagureLibLinktests(tests.Modeltests): project_match( 'Fixes: http://localhost.localdomain/fedpkg/issue/220', ('/fedpkg/issue/220',)) + project_match( + 'resolved: http://localhost.localdomain/fork/pingou/test/issue/1234#foo', + ('/fork/pingou/test/issue/1234',)) + project_match( + 'resolve http://localhost.localdomain/fork/pingou/test/issue/1234#foo', + ('/fork/pingou/test/issue/1234',)) # issue matches def issue_match(text, issue): @@ -294,6 +300,15 @@ class PagureLibLinktests(tests.Modeltests): issue_match('Merge #137', '137') issue_match('Merges #137', '137') issue_match('Merges: #137', '137') + issue_match('resolve #137', '137') + issue_match('Resolves #137', '137') + issue_match('RESOLVED: #137', '137') + issue_match( + 'Fixes: http://localhost.localdomain/fedpkg/issue/220', + '/fedpkg/issue/220') + issue_match( + 'Resolved: http://localhost.localdomain/fedpkg/issue/222', + '/fedpkg/issue/222') # no match def no_match(text): From bc2da06983938b483c57c43430393655ff756448 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 08 2019 14:21:32 +0000 Subject: [PATCH 2/2] Add support for the Fix keyword as we document it Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/link.py b/pagure/lib/link.py index 5cc7ecd..a2ecec2 100644 --- a/pagure/lib/link.py +++ b/pagure/lib/link.py @@ -21,7 +21,7 @@ from pagure.config import config as pagure_config FIXES = [ re.compile(r"(?:.*\s+)?{0}?[sd]?:?\s*?#(\d+)".format(kw), re.I) - for kw in ["fixe", "merge", "close", "resolve"] + for kw in ["fix", "fixe", "merge", "close", "resolve"] ] FIXES += [ re.compile( @@ -31,7 +31,7 @@ FIXES += [ ), re.I, ) - for kw in ["fixe", "merge", "close", "resolve"] + for kw in ["fix", "fixe", "merge", "close", "resolve"] ] diff --git a/tests/test_pagure_lib_link.py b/tests/test_pagure_lib_link.py index ab088c5..361e8dd 100644 --- a/tests/test_pagure_lib_link.py +++ b/tests/test_pagure_lib_link.py @@ -294,9 +294,12 @@ class PagureLibLinktests(tests.Modeltests): self.assertEqual(match.group(1), issue) issue_match('This fixed #5', '5') + issue_match('This fix #5', '5') issue_match('Merged #17', '17') issue_match('Fixed: #23', '23') + issue_match('Fix: #23', '23') issue_match('This commit fixes: #42', '42') + issue_match('This commit fix #42', '42') issue_match('Merge #137', '137') issue_match('Merges #137', '137') issue_match('Merges: #137', '137')