diff --git a/mergebot_test_utils/utils.py b/mergebot_test_utils/utils.py index 82a127d3..1695244d 100644 --- a/mergebot_test_utils/utils.py +++ b/mergebot_test_utils/utils.py @@ -12,8 +12,8 @@ MESSAGE_TEMPLATE = """{message} closes {repo}#{number} {headers}Signed-off-by: {name} <{email}>""" -# target branch '-' source branch '-' base64 unique '-fw' -REF_PATTERN = r'{target}-{source}-[a-zA-Z0-9_-]{{4}}-fw' +# target branch '-' source branch '-' batch id '-fw' +REF_PATTERN = r'{target}-{source}-\d+-fw' class Commit: def __init__(self, message, *, author=None, committer=None, tree, reset=False): diff --git a/runbot_merge/models/backport/__init__.py b/runbot_merge/models/backport/__init__.py index 7be4652a..1812c222 100644 --- a/runbot_merge/models/backport/__init__.py +++ b/runbot_merge/models/backport/__init__.py @@ -83,11 +83,7 @@ class PullRequestBackport(models.TransientModel): self.target.name, ) - bp_branch = "%s-%s-%s-bp" % ( - self.target.name, - self.pr_id.refname, - secrets.token_urlsafe(3), - ) + bp_branch = f"{self.target.name}-{self.pr_id.refname}-{self.pr_id.batch_id.id}-bp" repo_id = self.pr_id.repository repo = git.get_local(repo_id) diff --git a/runbot_merge/models/batch.py b/runbot_merge/models/batch.py index c65bd09e..c492d4b2 100644 --- a/runbot_merge/models/batch.py +++ b/runbot_merge/models/batch.py @@ -315,14 +315,8 @@ class Batch(models.Model): ) return - # the base PR is the PR with the "oldest" target - base = max(all_sources, key=lambda p: (p.target.sequence, p.target.name)) - # take only the branch bit - new_branch = '%s-%s-%s-fw' % ( - target.name, - base.refname, - secrets.token_urlsafe(3), - ) + refname = self.genealogy_ids[0].name.split(':', 1)[-1] + new_branch = f'{target.name}-{refname}-{self.id}-fw' conflicts = {} for pr in prs: repo = git.get_local(pr.repository)