mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 05:15:45 +07:00
[FIX] runbot: remove common ancestor case
Useless merge-base command is causing timeouts on runbots.
This commit is contained in:
parent
4791c3a82e
commit
809f5639c2
@ -216,33 +216,7 @@ class runbot_build(models.Model):
|
|||||||
if name.startswith(branch['branch_name'] + '-') and self._branch_exists(branch['id']):
|
if name.startswith(branch['branch_name'] + '-') and self._branch_exists(branch['id']):
|
||||||
return result_for(branch, 'prefix')
|
return result_for(branch, 'prefix')
|
||||||
|
|
||||||
# 4. Common ancestors (git merge-base)
|
# 4. last-resort value
|
||||||
for target_id in target_repo_ids:
|
|
||||||
common_refs = {}
|
|
||||||
self.env.cr.execute("""
|
|
||||||
SELECT b.name
|
|
||||||
FROM runbot_branch b,
|
|
||||||
runbot_branch t
|
|
||||||
WHERE b.repo_id = %s
|
|
||||||
AND t.repo_id = %s
|
|
||||||
AND b.name = t.name
|
|
||||||
AND b.name LIKE 'refs/heads/%%'
|
|
||||||
""", [repo.id, target_id])
|
|
||||||
for common_name, in self.env.cr.fetchall():
|
|
||||||
try:
|
|
||||||
commit = repo._git(['merge-base', branch['name'], common_name]).strip()
|
|
||||||
cmd = ['log', '-1', '--format=%cd', '--date=iso', commit]
|
|
||||||
common_refs[common_name] = repo._git(cmd).strip()
|
|
||||||
except CalledProcessError:
|
|
||||||
# If merge-base doesn't find any common ancestor, the command exits with a
|
|
||||||
# non-zero return code, resulting in subprocess.check_output raising this
|
|
||||||
# exception. We ignore this branch as there is no common ref between us.
|
|
||||||
continue
|
|
||||||
if common_refs:
|
|
||||||
b = sorted(common_refs.items(), key=operator.itemgetter(1), reverse=True)[0][0]
|
|
||||||
return target_id, b, 'fuzzy'
|
|
||||||
|
|
||||||
# 5. last-resort value
|
|
||||||
return target_repo_id, target_branch, 'default'
|
return target_repo_id, target_branch, 'default'
|
||||||
|
|
||||||
@api.depends('name', 'branch_id.name')
|
@api.depends('name', 'branch_id.name')
|
||||||
|
Loading…
Reference in New Issue
Block a user