Skip to content
Snippets Groups Projects
Commit 201802f7 authored by Jacob Vosmaer (GitLab)'s avatar Jacob Vosmaer (GitLab)
Browse files

Remove more feature flags

parent d4a4f1ed
No related branches found
No related tags found
1 merge request!10495Merge Requests - Assignee
# Gitaly note: JV: 1 RPC, migration in progress.
# Gitlab::Git::CommitStats counts the additions, deletions, and total changes
# in a commit.
module Gitlab
Loading
Loading
@@ -16,12 +14,8 @@ module Gitlab
@deletions = 0
@total = 0
 
repo.gitaly_migrate(:commit_stats) do |is_enabled|
if is_enabled
gitaly_stats(repo, commit)
else
rugged_stats(commit)
end
repo.wrapped_gitaly_errors do
gitaly_stats(repo, commit)
end
end
 
Loading
Loading
@@ -31,12 +25,6 @@ module Gitlab
@deletions = stats.deletions
@total = @additions + @deletions
end
def rugged_stats(commit)
diff = commit.rugged_diff_from_parent
_files_changed, @additions, @deletions = diff.stat
@total = @additions + @deletions
end
end
end
end
Loading
Loading
@@ -251,7 +251,6 @@ module Gitlab
 
# Returns an Array of Tags
#
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/390
def tags
wrapped_gitaly_errors do
gitaly_ref_client.tags
Loading
Loading
@@ -602,17 +601,9 @@ module Gitlab
# @repository.submodule_url_for('master', 'rack')
# # => git@localhost:rack.git
#
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/329
def submodule_url_for(ref, path)
Gitlab::GitalyClient.migrate(:submodule_url_for) do |is_enabled|
if is_enabled
gitaly_submodule_url_for(ref, path)
else
if submodules(ref).any?
submodule = submodules(ref)[path]
submodule['url'] if submodule
end
end
wrapped_gitaly_errors do
gitaly_submodule_url_for(ref, path)
end
end
 
Loading
Loading
@@ -837,22 +828,14 @@ module Gitlab
# Ex.
# repo.ls_files('master')
#
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/327
def ls_files(ref)
gitaly_commit_client.ls_files(ref)
end
 
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/328
def copy_gitattributes(ref)
Gitlab::GitalyClient.migrate(:apply_gitattributes) do |is_enabled|
if is_enabled
gitaly_copy_gitattributes(ref)
else
rugged_copy_gitattributes(ref)
end
wrapped_gitaly_errors do
gitaly_repository_client.apply_gitattributes(ref)
end
rescue GRPC::InvalidArgument
raise InvalidRef
end
 
def info_attributes
Loading
Loading
# Gitaly note: JV: needs 1 RPC, migration is in progress.
module Gitlab
module Git
class Tree
Loading
Loading
@@ -17,12 +15,8 @@ module Gitlab
def where(repository, sha, path = nil, recursive = false)
path = nil if path == '' || path == '/'
 
Gitlab::GitalyClient.migrate(:tree_entries) do |is_enabled|
if is_enabled
repository.gitaly_commit_client.tree_entries(repository, sha, path, recursive)
else
tree_entries_from_rugged(repository, sha, path, recursive)
end
repository.wrapped_gitaly_errors do
repository.gitaly_commit_client.tree_entries(repository, sha, path, recursive)
end
end
 
Loading
Loading
Loading
Loading
@@ -48,6 +48,8 @@ module Gitlab
def apply_gitattributes(revision)
request = Gitaly::ApplyGitattributesRequest.new(repository: @gitaly_repo, revision: encode_binary(revision))
GitalyClient.call(@storage, :repository_service, :apply_gitattributes, request)
rescue GRPC::InvalidArgument => ex
raise Gitlab::Git::Repository::InvalidRef, ex
end
 
def info_attributes
Loading
Loading
Loading
Loading
@@ -1402,94 +1402,84 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
 
describe "#copy_gitattributes" do
shared_examples 'applying git attributes' do
let(:attributes_path) { File.join(SEED_STORAGE_PATH, TEST_REPO_PATH, 'info/attributes') }
let(:attributes_path) { File.join(SEED_STORAGE_PATH, TEST_REPO_PATH, 'info/attributes') }
 
after do
FileUtils.rm_rf(attributes_path) if Dir.exist?(attributes_path)
end
it "raises an error with invalid ref" do
expect { repository.copy_gitattributes("invalid") }.to raise_error(Gitlab::Git::Repository::InvalidRef)
end
context 'when forcing encoding issues' do
let(:branch_name) { "ʕ•ᴥ•ʔ" }
after do
FileUtils.rm_rf(attributes_path) if Dir.exist?(attributes_path)
end
 
before do
repository.create_branch(branch_name, "master")
end
it "raises an error with invalid ref" do
expect { repository.copy_gitattributes("invalid") }.to raise_error(Gitlab::Git::Repository::InvalidRef)
end
 
after do
repository.rm_branch(branch_name, user: build(:admin))
end
context 'when forcing encoding issues' do
let(:branch_name) { "ʕ•ᴥ•ʔ" }
 
it "doesn't raise with a valid unicode ref" do
expect { repository.copy_gitattributes(branch_name) }.not_to raise_error
before do
repository.create_branch(branch_name, "master")
end
 
repository
end
after do
repository.rm_branch(branch_name, user: build(:admin))
end
 
context "with no .gitattrbutes" do
before do
repository.copy_gitattributes("master")
end
it "doesn't raise with a valid unicode ref" do
expect { repository.copy_gitattributes(branch_name) }.not_to raise_error
 
it "does not have an info/attributes" do
expect(File.exist?(attributes_path)).to be_falsey
end
repository
end
end
 
context "with .gitattrbutes" do
before do
repository.copy_gitattributes("gitattributes")
end
context "with no .gitattrbutes" do
before do
repository.copy_gitattributes("master")
end
 
it "has an info/attributes" do
expect(File.exist?(attributes_path)).to be_truthy
end
it "does not have an info/attributes" do
expect(File.exist?(attributes_path)).to be_falsey
end
end
 
it "has the same content in info/attributes as .gitattributes" do
contents = File.open(attributes_path, "rb") { |f| f.read }
expect(contents).to eq("*.md binary\n")
end
context "with .gitattrbutes" do
before do
repository.copy_gitattributes("gitattributes")
end
 
context "with updated .gitattrbutes" do
before do
repository.copy_gitattributes("gitattributes")
repository.copy_gitattributes("gitattributes-updated")
end
it "has an info/attributes" do
expect(File.exist?(attributes_path)).to be_truthy
end
 
it "has an info/attributes" do
expect(File.exist?(attributes_path)).to be_truthy
end
it "has the same content in info/attributes as .gitattributes" do
contents = File.open(attributes_path, "rb") { |f| f.read }
expect(contents).to eq("*.md binary\n")
end
end
 
it "has the updated content in info/attributes" do
contents = File.read(attributes_path)
expect(contents).to eq("*.txt binary\n")
end
context "with updated .gitattrbutes" do
before do
repository.copy_gitattributes("gitattributes")
repository.copy_gitattributes("gitattributes-updated")
end
 
context "with no .gitattrbutes in HEAD but with previous info/attributes" do
before do
repository.copy_gitattributes("gitattributes")
repository.copy_gitattributes("master")
end
it "has an info/attributes" do
expect(File.exist?(attributes_path)).to be_truthy
end
 
it "does not have an info/attributes" do
expect(File.exist?(attributes_path)).to be_falsey
end
it "has the updated content in info/attributes" do
contents = File.read(attributes_path)
expect(contents).to eq("*.txt binary\n")
end
end
 
context 'when gitaly is enabled' do
it_behaves_like 'applying git attributes'
end
context "with no .gitattrbutes in HEAD but with previous info/attributes" do
before do
repository.copy_gitattributes("gitattributes")
repository.copy_gitattributes("master")
end
 
context 'when gitaly is disabled', :disable_gitaly do
it_behaves_like 'applying git attributes'
it "does not have an info/attributes" do
expect(File.exist?(attributes_path)).to be_falsey
end
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment