mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
project: Optimise GetCommitRevisionId when revisionId is set
When comparing 2 manifests, most of the time is spent getting the relevant commit id as it relies on _allrefs which ends up loading all git references. However, the value from `revisionIs` (when it is valid) could be used directly leading to a huge performance improvement (from 180+ seconds to less than 0.01 sec which is more than 25000 times faster for manifests with 700+ projects). Bug: 295282548 Change-Id: I5881aa4b2326cc17bbb4ee91d23293111f76ad7e Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/385834 Tested-by: Sylvain Desodt <sylvain.desodt@gmail.com> Reviewed-by: Mike Frysinger <vapier@google.com> Commit-Queue: Sylvain Desodt <sylvain.desodt@gmail.com>
This commit is contained in:
parent
25d6c7cc10
commit
e9cb391117
@ -1443,6 +1443,8 @@ class Project(object):
|
|||||||
rather than the id of the current git object (for example, a tag)
|
rather than the id of the current git object (for example, a tag)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
if self.revisionId:
|
||||||
|
return self.revisionId
|
||||||
if not self.revisionExpr.startswith(R_TAGS):
|
if not self.revisionExpr.startswith(R_TAGS):
|
||||||
return self.GetRevisionId(self._allrefs)
|
return self.GetRevisionId(self._allrefs)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user