Merge branch 'feature/add-max-count-to-count-commits-rpc' into 'master'
Add support for max_count option to Git::Repository#count_commits See merge request gitlab-org/gitlab-ce!16145
This commit is contained in:
commit
062ea80e64
3 changed files with 13 additions and 3 deletions
|
@ -1665,6 +1665,7 @@ module Gitlab
|
|||
cmd = %W[#{Gitlab.config.git.bin_path} --git-dir=#{path} rev-list]
|
||||
cmd << "--after=#{options[:after].iso8601}" if options[:after]
|
||||
cmd << "--before=#{options[:before].iso8601}" if options[:before]
|
||||
cmd << "--max-count=#{options[:max_count]}" if options[:max_count]
|
||||
cmd += %W[--count #{options[:ref]}]
|
||||
cmd += %W[-- #{options[:path]}] if options[:path].present?
|
||||
|
||||
|
|
|
@ -130,6 +130,7 @@ module Gitlab
|
|||
request.after = Google::Protobuf::Timestamp.new(seconds: options[:after].to_i) if options[:after].present?
|
||||
request.before = Google::Protobuf::Timestamp.new(seconds: options[:before].to_i) if options[:before].present?
|
||||
request.path = options[:path] if options[:path].present?
|
||||
request.max_count = options[:max_count] if options[:max_count].present?
|
||||
|
||||
GitalyClient.call(@repository.storage, :commit_service, :count_commits, request, timeout: GitalyClient.medium_timeout).count
|
||||
end
|
||||
|
|
|
@ -1015,7 +1015,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
|
|||
shared_examples 'extended commit counting' do
|
||||
context 'with after timestamp' do
|
||||
it 'returns the number of commits after timestamp' do
|
||||
options = { ref: 'master', limit: nil, after: Time.iso8601('2013-03-03T20:15:01+00:00') }
|
||||
options = { ref: 'master', after: Time.iso8601('2013-03-03T20:15:01+00:00') }
|
||||
|
||||
expect(repository.count_commits(options)).to eq(25)
|
||||
end
|
||||
|
@ -1023,7 +1023,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
|
|||
|
||||
context 'with before timestamp' do
|
||||
it 'returns the number of commits before timestamp' do
|
||||
options = { ref: 'feature', limit: nil, before: Time.iso8601('2015-03-03T20:15:01+00:00') }
|
||||
options = { ref: 'feature', before: Time.iso8601('2015-03-03T20:15:01+00:00') }
|
||||
|
||||
expect(repository.count_commits(options)).to eq(9)
|
||||
end
|
||||
|
@ -1031,11 +1031,19 @@ describe Gitlab::Git::Repository, seed_helper: true do
|
|||
|
||||
context 'with path' do
|
||||
it 'returns the number of commits with path ' do
|
||||
options = { ref: 'master', limit: nil, path: "encoding" }
|
||||
options = { ref: 'master', path: "encoding" }
|
||||
|
||||
expect(repository.count_commits(options)).to eq(2)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with max_count' do
|
||||
it 'returns the number of commits up to the passed limit' do
|
||||
options = { ref: 'master', max_count: 10, after: Time.iso8601('2013-03-03T20:15:01+00:00') }
|
||||
|
||||
expect(repository.count_commits(options)).to eq(10)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when Gitaly count_commits feature is enabled' do
|
||||
|
|
Loading…
Reference in a new issue