diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-01-18 14:08:00 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-01-18 14:08:00 +0000 |
commit | 430b3f0e9ad0e219cffd162374e60739fb3280e2 (patch) | |
tree | c9b42a562ea4a9e2153ac8226def198212fc1d94 | |
parent | ee58763158ed10f12a8fe7c089257a532fe6e724 (diff) | |
parent | fa5203873105a8052847d117af839094e8f837db (diff) | |
download | gitlab-ce-430b3f0e9ad0e219cffd162374e60739fb3280e2.tar.gz |
Merge branch 'remove-rugged-walk' into 'master'
Remove Rugged::Walker from Repository#log
Closes #42089
See merge request gitlab-org/gitlab-ce!16525
-rw-r--r-- | lib/gitlab/git/repository.rb | 27 | ||||
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 38 |
2 files changed, 1 insertions, 64 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index c5d5c3a72c0..b89a38d187e 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -490,11 +490,7 @@ module Gitlab return [] end - if log_using_shell?(options) - log_by_shell(sha, options) - else - log_by_walk(sha, options) - end + log_by_shell(sha, options) end def count_commits(options) @@ -1512,27 +1508,6 @@ module Gitlab end end - def log_using_shell?(options) - options[:path].present? || - options[:disable_walk] || - options[:skip_merges] || - options[:after] || - options[:before] - end - - def log_by_walk(sha, options) - walk_options = { - show: sha, - sort: Rugged::SORT_NONE, - limit: options[:limit], - offset: options[:offset] - } - Rugged::Walker.walk(rugged, walk_options).to_a - end - - # Gitaly note: JV: although #log_by_shell shells out to Git I think the - # complexity is such that we should migrate it as Ruby before trying to - # do it in Go. def log_by_shell(sha, options) limit = options[:limit].to_i offset = options[:offset].to_i diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index 3cf165716bd..aec7cde6df8 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -899,44 +899,6 @@ describe Gitlab::Git::Repository, seed_helper: true do end end - context "compare results between log_by_walk and log_by_shell" do - let(:options) { { ref: "master" } } - let(:commits_by_walk) { repository.log(options).map(&:id) } - let(:commits_by_shell) { repository.log(options.merge({ disable_walk: true })).map(&:id) } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - - context "with limit" do - let(:options) { { ref: "master", limit: 1 } } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - end - - context "with offset" do - let(:options) { { ref: "master", offset: 1 } } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - end - - context "with skip_merges" do - let(:options) { { ref: "master", skip_merges: true } } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - end - - context "with path" do - let(:options) { { ref: "master", path: "encoding" } } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - - context "with follow" do - let(:options) { { ref: "master", path: "encoding", follow: true } } - - it { expect(commits_by_walk).to eq(commits_by_shell) } - end - end - end - context "where provides 'after' timestamp" do options = { after: Time.iso8601('2014-03-03T20:15:01+00:00') } |