summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-11-20 09:08:09 +0000
committerWinnie Hellmann <winnie@gitlab.com>2017-11-20 10:20:47 +0000
commit078764e4638b5b3d3c500c05d923e19a4a82b58c (patch)
treee172183b5bec0728c374e831b8692cb9b420a951
parent17fe8174a27e8fb5f5f4bbfce0be454bea943bf3 (diff)
downloadgitlab-ce-078764e4638b5b3d3c500c05d923e19a4a82b58c.tar.gz
Merge branch '40300-cannot-list-tags-in-a-repository-mirror-when-hashed-storage-in-use' into 'master'
Fix Gitlab::Git::Repository#remote_tags using unexisting variable Closes #40300 See merge request gitlab-org/gitlab-ce!15466 (cherry picked from commit c563661f910934f1103690d46f9af8a75423077d) 63beaa32 Fix Gitlab::Git::Repository#remote_tags using unexisting variable d622a8c5 Merge branch 'master' into 40300-cannot-list-tags-in-a-repository-mirror-when-hashed-storage-in-use
-rw-r--r--lib/gitlab/git/repository_mirroring.rb4
-rw-r--r--spec/lib/gitlab/git/repository_spec.rb23
2 files changed, 20 insertions, 7 deletions
diff --git a/lib/gitlab/git/repository_mirroring.rb b/lib/gitlab/git/repository_mirroring.rb
index 637e7a0659c..4500482d68f 100644
--- a/lib/gitlab/git/repository_mirroring.rb
+++ b/lib/gitlab/git/repository_mirroring.rb
@@ -78,7 +78,7 @@ module Gitlab
def list_remote_tags(remote)
tag_list, exit_code, error = nil
- cmd = %W(#{Gitlab.config.git.bin_path} --git-dir=#{full_path} ls-remote --tags #{remote})
+ cmd = %W(#{Gitlab.config.git.bin_path} --git-dir=#{path} ls-remote --tags #{remote})
Open3.popen3(*cmd) do |stdin, stdout, stderr, wait_thr|
tag_list = stdout.read
@@ -88,7 +88,7 @@ module Gitlab
raise RemoteError, error unless exit_code.zero?
- tag_list.split('\n')
+ tag_list.split("\n")
end
end
end
diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb
index ee14b528ec2..ce24c10b28e 100644
--- a/spec/lib/gitlab/git/repository_spec.rb
+++ b/spec/lib/gitlab/git/repository_spec.rb
@@ -634,16 +634,29 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
describe '#remote_tags' do
+ let(:remote_name) { 'upstream' }
let(:target_commit_id) { SeedRepo::Commit::ID }
+ let(:user) { create(:user) }
+ let(:tag_name) { 'v0.0.1' }
+ let(:tag_message) { 'My tag' }
+ let(:remote_repository) do
+ Gitlab::Git::Repository.new('default', TEST_MUTABLE_REPO_PATH, '')
+ end
- subject { repository.remote_tags('upstream') }
+ subject { repository.remote_tags(remote_name) }
- it 'gets the remote tags' do
- expect(repository).to receive(:list_remote_tags).with('upstream')
- .and_return(["#{target_commit_id}\trefs/tags/v0.0.1\n"])
+ before do
+ repository.add_remote(remote_name, remote_repository.path)
+ remote_repository.add_tag(tag_name, user: user, target: target_commit_id)
+ end
+ after do
+ ensure_seeds
+ end
+
+ it 'gets the remote tags' do
expect(subject.first).to be_an_instance_of(Gitlab::Git::Tag)
- expect(subject.first.name).to eq('v0.0.1')
+ expect(subject.first.name).to eq(tag_name)
expect(subject.first.dereferenced_target.id).to eq(target_commit_id)
end
end