diff --git a/marge/single_merge_job.py b/marge/single_merge_job.py index c929f6e3..eee29353 100644 --- a/marge/single_merge_job.py +++ b/marge/single_merge_job.py @@ -27,8 +27,11 @@ def execute(self): log.warning("Skipping MR !%s: %s", merge_request.info['iid'], err.reason) except CannotMerge as err: message = "I couldn't merge this branch: %s" % err.reason + if "'Branch cannot be merged'" in err.reason: + message += ", probably due to a race condition with a manual merge. I will try again later..." + else: + self.unassign_from_mr(merge_request) log.warning(message) - self.unassign_from_mr(merge_request) merge_request.comment(message) except git.GitError: log.exception('Unexpected Git error')