From 65ed7c51bcf42ab7a656197a53717afee5f54f99 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 30 Aug 2023 12:10:46 +0200 Subject: [PATCH] [IMP] *: note to merge using mergebot in conflict message The message has a lot of info, but left the merging bit unwritten. Correct this issue. Fixes #765 --- forwardport/tests/test_conflicts.py | 28 +++++++++++++++++++ mergebot_test_utils/utils.py | 2 +- ..._merge.pull_requests.feedback.template.csv | 2 ++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/forwardport/tests/test_conflicts.py b/forwardport/tests/test_conflicts.py index d5bb3486..1d29df2d 100644 --- a/forwardport/tests/test_conflicts.py +++ b/forwardport/tests/test_conflicts.py @@ -50,6 +50,7 @@ def test_conflict(env, config, make_repo, users): assert prc_id.state == 'opened' p = prod.commit(p_0) + prc = prod.get_pr(prc_id.number) c = prod.commit(prc_id.head) assert c.author == p.author # ignore date as we're specifically not keeping the original's @@ -66,6 +67,33 @@ xxx >>>\x3e>>> [\da-f]{7,}.* '''), } + assert prc.comments == [ + seen(env, prc, users), + (users['user'], re_matches( +fr'''@{users['user']} @{users['reviewer']} cherrypicking of pull request {pra_id.display_name} failed\. + +stdout: +``` +Auto-merging h +CONFLICT \(add/add\): Merge conflict in h + +``` + +stderr: +``` +.* +``` + +Either perform the forward-port manually \(and push to this branch, proceeding as usual\) or close this PR \(maybe\?\)\. + +In the former case, you may want to edit this PR message as well\. + +:warning: after resolving this conflict, you will need to merge it via @{project.github_prefix}\. + +More info at https://github\.com/odoo/odoo/wiki/Mergebot#forward-port +''', re.DOTALL)) + ] + prb = prod.get_pr(prb_id.number) assert prb.comments == [ seen(env, prb, users), diff --git a/mergebot_test_utils/utils.py b/mergebot_test_utils/utils.py index fae0d208..922eb437 100644 --- a/mergebot_test_utils/utils.py +++ b/mergebot_test_utils/utils.py @@ -50,7 +50,7 @@ class re_matches: return self._r.match(text) def __repr__(self): - return self._r.pattern + '...' + return repr(self._r.pattern) def seen(env, pr, users): return users['user'], f'[Pull request status dashboard]({to_pr(env, pr).url}).' diff --git a/runbot_merge/data/runbot_merge.pull_requests.feedback.template.csv b/runbot_merge/data/runbot_merge.pull_requests.feedback.template.csv index 8524d290..bbe809ff 100644 --- a/runbot_merge/data/runbot_merge.pull_requests.feedback.template.csv +++ b/runbot_merge/data/runbot_merge.pull_requests.feedback.template.csv @@ -143,6 +143,8 @@ runbot_merge.forwardport.failure,"{pr.ping}cherrypicking of pull request {pr.sou Either perform the forward-port manually (and push to this branch, proceeding as usual) or close this PR (maybe?). In the former case, you may want to edit this PR message as well. + +:warning: after resolving this conflict, you will need to merge it via @{pr.repository.project_id.github_prefix}. {footer}","Comment when a forward-port failed. pr: the new pr (in failure)