diff --git a/runbot_merge/models/pull_requests.py b/runbot_merge/models/pull_requests.py index 4ba6bf39..b7907422 100644 --- a/runbot_merge/models/pull_requests.py +++ b/runbot_merge/models/pull_requests.py @@ -148,7 +148,13 @@ class Project(models.Model): if not f: return - f.repository._load_pr(f.number) + self.env.cr.execute("SAVEPOINT runbot_merge_before_fetch") + try: + f.repository._load_pr(f.number) + except Exception: + self.env.cr.execute("ROLLBACK TO SAVEPOINT runbot_merge_before_fetch") + _logger.exception("Failed to load pr %s, skipping it", f.number) + self.env.cr.execute("RELEASE SAVEPOINT runbot_merge_before_fetch") # commit after each fetched PR f.active = False