diff options
author | Stan Hu <stanhu@gmail.com> | 2015-09-23 08:21:51 -0700 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-09-24 14:21:20 -0400 |
commit | 5f0983b207013543f463dab037a9f76b85d9afc8 (patch) | |
tree | b1a2fbd933332681ed687288347721a0fa554796 | |
parent | 6dd5b1cc3678169e4ddfdc17e2773dc2f43ec854 (diff) | |
download | gitlab-ce-5f0983b207013543f463dab037a9f76b85d9afc8.tar.gz |
Remove git refs used internally by GitLab from network graph
Closes #2702
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/helpers/graph_helper.rb | 5 | ||||
-rw-r--r-- | spec/helpers/graph_helper_spec.rb | 16 |
3 files changed, 21 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 5c25b16f027..9e476eb5137 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ v 8.0.2 (unreleased) - Make commit graphs responsive to window width changes (Stan Hu) - Fix top margin for sign-in button on public pages - Fix LDAP attribute mapping + - Remove git refs used internally by GitLab from network graph (Stan Hu) v 8.0.1 - Improve CI migration procedure and documentation diff --git a/app/helpers/graph_helper.rb b/app/helpers/graph_helper.rb index e1dda20de85..1e372d5631d 100644 --- a/app/helpers/graph_helper.rb +++ b/app/helpers/graph_helper.rb @@ -1,7 +1,10 @@ module GraphHelper def get_refs(repo, commit) refs = "" - refs << commit.ref_names(repo).join(' ') + # Commit::ref_names already strips the refs/XXX from important refs (e.g. refs/heads/XXX) + # so anything leftover is internally used by GitLab + commit_refs = commit.ref_names(repo).reject{ |name| name.starts_with?('refs/') } + refs << commit_refs.join(' ') # append note count refs << "[#{@graph.notes[commit.id]}]" if @graph.notes[commit.id] > 0 diff --git a/spec/helpers/graph_helper_spec.rb b/spec/helpers/graph_helper_spec.rb new file mode 100644 index 00000000000..4acf38771b7 --- /dev/null +++ b/spec/helpers/graph_helper_spec.rb @@ -0,0 +1,16 @@ +require 'spec_helper' + +describe GraphHelper do + describe '#get_refs' do + let(:project) { create(:project) } + let(:commit) { project.commit("master") } + let(:graph) { Network::Graph.new(project, 'master', commit, '') } + + it 'filter our refs used by GitLab' do + allow(commit).to receive(:ref_names).and_return(['refs/merge-requests/abc', 'master', 'refs/tmp/xyz']) + self.instance_variable_set(:@graph, graph) + refs = get_refs(project.repository, commit) + expect(refs).to eq('master') + end + end +end |