mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-23 11:36:09 +10:00
Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq
This commit is contained in:
@@ -12,13 +12,7 @@ class Projects::CommitController < Projects::ApplicationController
|
||||
return git_not_found! unless @commit
|
||||
|
||||
@line_notes = project.notes.for_commit_id(commit.id).inline
|
||||
|
||||
@branches = begin
|
||||
project.repository.branch_names_contains(commit.id)
|
||||
rescue Grit::Git::GitTimeout
|
||||
[]
|
||||
end
|
||||
|
||||
@branches = project.repository.branch_names_contains(commit.id)
|
||||
@diffs = @commit.diffs
|
||||
@note = project.build_commit_note(commit)
|
||||
@notes_count = project.notes.for_commit_id(commit.id).count
|
||||
|
||||
@@ -284,4 +284,21 @@ class Repository
|
||||
blob_at(commit.parent_id, diff.old_path)
|
||||
end
|
||||
end
|
||||
|
||||
def branch_names_contains(sha)
|
||||
args = %W(git branch --contains #{sha})
|
||||
names = Gitlab::Popen.popen(args, path_to_repo).first
|
||||
|
||||
if names.respond_to?(:split)
|
||||
names = names.split("\n").map(&:strip)
|
||||
|
||||
names.each do |name|
|
||||
name.slice! '* '
|
||||
end
|
||||
|
||||
names
|
||||
else
|
||||
[]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Repository do
|
||||
include RepoHelpers
|
||||
|
||||
let(:repository) { create(:project).repository }
|
||||
|
||||
describe :branch_names_contains do
|
||||
subject { repository.branch_names_contains(sample_commit.id) }
|
||||
|
||||
it { should include('master') }
|
||||
it { should_not include('feature') }
|
||||
it { should_not include('fix') }
|
||||
end
|
||||
|
||||
describe :last_commit_for_path do
|
||||
subject { repository.last_commit_for_path(sample_commit.id, '.gitignore').id }
|
||||
|
||||
it { should eq('c1acaa58bbcbc3eafe538cb8274ba387047b69f8') }
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user