# HG changeset patch # User Mads Kiilerich # Date 2013-04-04 22:40:58 # Node ID f73a63831d3f16078c5e4077a8d6be2a953e27a6 # Parent a327492d84df7a2c402b59e83e9056e9f8152475 pullrequests: optimize locating changeset to compare We only need the max revision - that is much faster when a branch is specified. diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py --- a/rhodecode/model/pull_request.py +++ b/rhodecode/model/pull_request.py @@ -183,13 +183,13 @@ class PullRequestModel(BaseModel): 'rev': 'id', } - org_rev_spec = "%s('%s')" % (_revset_predicates[org_ref[0]], - safe_str(org_ref[1])) + org_rev_spec = "max(%s('%s'))" % (_revset_predicates[org_ref[0]], + safe_str(org_ref[1])) org_revs = scmutil.revrange(org_repo._repo, [org_rev_spec]) org_rev = org_repo._repo[org_revs[-1] if org_revs else -1].hex() - other_rev_spec = "%s('%s')" % (_revset_predicates[other_ref[0]], - safe_str(other_ref[1])) + other_rev_spec = "max(%s('%s'))" % (_revset_predicates[other_ref[0]], + safe_str(other_ref[1])) other_revs = scmutil.revrange(other_repo._repo, [other_rev_spec]) other_rev = other_repo._repo[other_revs[-1] if other_revs else -1].hex()