73e78c4e15
The refs hash is used to determine what branches and tags have a commit as head in the network graph. The previous implementation depended on Rugged#references. The problem with this implementation was that it depended on rugged, but also that it iterated over all references and thus loading more data than needed if for example the project uses CI/CD environments, Pipelines, or Merge Requests. Given only refs are checked the network cares about the GraphHelper#refs method has no need to reject those, simplifying the method. Closes gitlab-org/gitaly#880
23 lines
534 B
Ruby
23 lines
534 B
Ruby
module GraphHelper
|
|
def refs(repo, commit)
|
|
refs = commit.ref_names(repo).join(' ')
|
|
|
|
# append note count
|
|
notes_count = @graph.notes[commit.id]
|
|
refs << "[#{pluralize(notes_count, 'note')}]" if notes_count > 0
|
|
|
|
refs
|
|
end
|
|
|
|
def parents_zip_spaces(parents, parent_spaces)
|
|
ids = parents.map { |p| p.id }
|
|
ids.zip(parent_spaces)
|
|
end
|
|
|
|
def success_ratio(counts)
|
|
return 100 if counts[:failed].zero?
|
|
|
|
ratio = (counts[:success].to_f / (counts[:success] + counts[:failed])) * 100
|
|
ratio.to_i
|
|
end
|
|
end
|