Commit 283c0a9d authored by Douwe Maan's avatar Douwe Maan

Merge branch 'repository-log-disable-walk' into 'master'

Remove Rugged::Walk implementation of #log

See merge request gitlab-org/gitlab-ce!16798
parents 560c93e6 afe665d9
...@@ -462,7 +462,6 @@ module Gitlab ...@@ -462,7 +462,6 @@ module Gitlab
path: nil, path: nil,
follow: false, follow: false,
skip_merges: false, skip_merges: false,
disable_walk: false,
after: nil, after: nil,
before: nil before: nil
} }
...@@ -494,11 +493,7 @@ module Gitlab ...@@ -494,11 +493,7 @@ module Gitlab
return [] return []
end end
if log_using_shell?(options)
log_by_shell(sha, options) log_by_shell(sha, options)
else
log_by_walk(sha, options)
end
end end
def count_commits(options) def count_commits(options)
...@@ -1645,24 +1640,6 @@ module Gitlab ...@@ -1645,24 +1640,6 @@ module Gitlab
end end
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 # 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 # complexity is such that we should migrate it as Ruby before trying to
# do it in Go. # do it in Go.
......
...@@ -257,7 +257,7 @@ module Gitlab ...@@ -257,7 +257,7 @@ module Gitlab
offset: options[:offset], offset: options[:offset],
follow: options[:follow], follow: options[:follow],
skip_merges: options[:skip_merges], skip_merges: options[:skip_merges],
disable_walk: options[:disable_walk] disable_walk: true # This option is deprecated. The 'walk' implementation is being removed.
) )
request.after = GitalyClient.timestamp(options[:after]) if options[:after] request.after = GitalyClient.timestamp(options[:after]) if options[:after]
request.before = GitalyClient.timestamp(options[:before]) if options[:before] request.before = GitalyClient.timestamp(options[:before]) if options[:before]
......
...@@ -905,44 +905,6 @@ describe Gitlab::Git::Repository, seed_helper: true do ...@@ -905,44 +905,6 @@ describe Gitlab::Git::Repository, seed_helper: true do
end end
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 context "where provides 'after' timestamp" do
options = { after: Time.iso8601('2014-03-03T20:15:01+00:00') } options = { after: Time.iso8601('2014-03-03T20:15:01+00:00') }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment