Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-06-28 16:10:07 +0300
committerDouwe Maan <douwe@gitlab.com>2018-06-28 16:10:07 +0300
commit37b1922237b1491f3dba45ac366d0d0477c7947f (patch)
tree1d49f4cc9d033a60e6573eb4fa7d947473395eaa
parent63c64ab3236a5ddf45a2ca56683d07e4140ea90e (diff)
parentf369da063f4a07b6c30852a29e5ce1071e77b86a (diff)
Merge branch 'zj-commits-between-mandatory' into 'master'
Commits between in Gitaly only Closes gitaly#315 See merge request gitlab-org/gitlab-ce!20239
-rw-r--r--lib/gitlab/git/commit.rb10
-rw-r--r--lib/gitlab/git/repository.rb21
-rw-r--r--spec/lib/gitlab/git/repository_spec.rb40
3 files changed, 2 insertions, 69 deletions
diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb
index 01274505557..096474b5ae2 100644
--- a/lib/gitlab/git/commit.rb
+++ b/lib/gitlab/git/commit.rb
@@ -116,15 +116,9 @@ module Gitlab
# Commit.between(repo, '29eda46b', 'master')
#
def between(repo, base, head)
- Gitlab::GitalyClient.migrate(:commits_between) do |is_enabled|
- if is_enabled
- repo.gitaly_commit_client.between(base, head)
- else
- repo.rugged_commits_between(base, head).map { |c| decorate(repo, c) }
- end
+ repo.wrapped_gitaly_errors do
+ repo.gitaly_commit_client.between(base, head)
end
- rescue Rugged::ReferenceError
- []
end
# Returns commits collection
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb
index 63df12498b3..7c3b91f6efb 100644
--- a/lib/gitlab/git/repository.rb
+++ b/lib/gitlab/git/repository.rb
@@ -492,27 +492,6 @@ module Gitlab
Ref.dereference_object(obj)
end
- # Return a collection of Rugged::Commits between the two revspec arguments.
- # See http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for
- # a detailed list of valid arguments.
- #
- # Gitaly note: JV: to be deprecated in favor of Commit.between
- def rugged_commits_between(from, to)
- walker = Rugged::Walker.new(rugged)
- walker.sorting(Rugged::SORT_NONE | Rugged::SORT_REVERSE)
-
- sha_from = sha_from_ref(from)
- sha_to = sha_from_ref(to)
-
- walker.push(sha_to)
- walker.hide(sha_from)
-
- commits = walker.to_a
- walker.reset
-
- commits
- end
-
# Counts the amount of commits between `from` and `to`.
def count_commits_between(from, to, options = {})
count_commits(from: from, to: to, **options)
diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb
index b78fe4ba310..6ec4b90d70c 100644
--- a/spec/lib/gitlab/git/repository_spec.rb
+++ b/spec/lib/gitlab/git/repository_spec.rb
@@ -996,46 +996,6 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
end
- describe "#rugged_commits_between" do
- around do |example|
- # TODO #rugged_commits_between will be removed, has been migrated to gitaly
- Gitlab::GitalyClient::StorageSettings.allow_disk_access do
- example.run
- end
- end
-
- context 'two SHAs' do
- let(:first_sha) { 'b0e52af38d7ea43cf41d8a6f2471351ac036d6c9' }
- let(:second_sha) { '0e50ec4d3c7ce42ab74dda1d422cb2cbffe1e326' }
-
- it 'returns the number of commits between' do
- expect(repository.rugged_commits_between(first_sha, second_sha).count).to eq(3)
- end
- end
-
- context 'SHA and master branch' do
- let(:sha) { 'b0e52af38d7ea43cf41d8a6f2471351ac036d6c9' }
- let(:branch) { 'master' }
-
- it 'returns the number of commits between a sha and a branch' do
- expect(repository.rugged_commits_between(sha, branch).count).to eq(5)
- end
-
- it 'returns the number of commits between a branch and a sha' do
- expect(repository.rugged_commits_between(branch, sha).count).to eq(0) # sha is before branch
- end
- end
-
- context 'two branches' do
- let(:first_branch) { 'feature' }
- let(:second_branch) { 'master' }
-
- it 'returns the number of commits between' do
- expect(repository.rugged_commits_between(first_branch, second_branch).count).to eq(17)
- end
- end
- end
-
describe '#count_commits_between' do
subject { repository.count_commits_between('feature', 'master') }