diff options
author | Rémy Coutable <remy@rymai.me> | 2018-03-28 16:16:33 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-03-28 16:16:33 +0000 |
commit | 141748929dd006e4b506028e44e7dfdf3988c936 (patch) | |
tree | 63d642060fb4f65a99a0d1ebf497ee37cceceea5 /app/models/repository.rb | |
parent | be944a649032ccfa07f4f98cb2d048e14725fed1 (diff) | |
parent | 05b4b2d9679ccd09cf9723207603d0d3f670df30 (diff) | |
download | gitlab-ce-141748929dd006e4b506028e44e7dfdf3988c936.tar.gz |
Merge branch '44657-reuse-root_ref_hash-on-branches' into 'master'
Avoid Gitaly n+1 times per request for Project Branches performance
Closes #44657 et #37429
See merge request gitlab-org/gitlab-ce!17998
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r-- | app/models/repository.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 2ba1c6cb8c9..fd1afafe4df 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -249,13 +249,13 @@ class Repository end def diverging_commit_counts(branch) - root_ref_hash = raw_repository.commit(root_ref).id + @root_ref_hash ||= raw_repository.commit(root_ref).id cache.fetch(:"diverging_commit_counts_#{branch.name}") do # Rugged seems to throw a `ReferenceError` when given branch_names rather # than SHA-1 hashes number_commits_behind, number_commits_ahead = raw_repository.count_commits_between( - root_ref_hash, + @root_ref_hash, branch.dereferenced_target.sha, left_right: true, max_count: MAX_DIVERGING_COUNT) |