RawBlame only called through Gitaly
Closes https://gitlab.com/gitlab-org/gitaly/issues/376
This commit is contained in:
parent
0e2577229d
commit
f195a7436d
2 changed files with 3 additions and 26 deletions
|
@ -22,24 +22,9 @@ module Gitlab
|
||||||
private
|
private
|
||||||
|
|
||||||
def load_blame
|
def load_blame
|
||||||
raw_output = @repo.gitaly_migrate(:blame, status: Gitlab::GitalyClient::MigrationStatus::OPT_OUT) do |is_enabled|
|
output = encode_utf8(@repo.gitaly_commit_client.raw_blame(@sha, @path))
|
||||||
if is_enabled
|
|
||||||
load_blame_by_gitaly
|
|
||||||
else
|
|
||||||
load_blame_by_shelling_out
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
output = encode_utf8(raw_output)
|
process_raw_blame(output)
|
||||||
process_raw_blame output
|
|
||||||
end
|
|
||||||
|
|
||||||
def load_blame_by_gitaly
|
|
||||||
@repo.gitaly_commit_client.raw_blame(@sha, @path)
|
|
||||||
end
|
|
||||||
|
|
||||||
def load_blame_by_shelling_out
|
|
||||||
@repo.shell_blame(@sha, @path)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_raw_blame(output)
|
def process_raw_blame(output)
|
||||||
|
|
|
@ -7,7 +7,7 @@ describe Gitlab::Git::Blame, seed_helper: true do
|
||||||
Gitlab::Git::Blame.new(repository, SeedRepo::Commit::ID, "CONTRIBUTING.md")
|
Gitlab::Git::Blame.new(repository, SeedRepo::Commit::ID, "CONTRIBUTING.md")
|
||||||
end
|
end
|
||||||
|
|
||||||
shared_examples 'blaming a file' do
|
describe 'blaming a file' do
|
||||||
context "each count" do
|
context "each count" do
|
||||||
it do
|
it do
|
||||||
data = []
|
data = []
|
||||||
|
@ -68,12 +68,4 @@ describe Gitlab::Git::Blame, seed_helper: true do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when Gitaly blame feature is enabled' do
|
|
||||||
it_behaves_like 'blaming a file'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when Gitaly blame feature is disabled', :skip_gitaly_mock do
|
|
||||||
it_behaves_like 'blaming a file'
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue