diff options
author | Rémy Coutable <remy@rymai.me> | 2017-03-16 18:22:14 +0000 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2017-03-17 11:33:03 +0800 |
commit | d5a116258c33ea7633cb4103923ae42c6baa39bf (patch) | |
tree | 3bd579a0a3f18a8f76969db456023ad1ceb3c999 | |
parent | f7769bbdc842c59d2fc241bf2c1532ad8a76b003 (diff) | |
download | gitlab-ce-d5a116258c33ea7633cb4103923ae42c6baa39bf.tar.gz |
Merge branch '29565-name-of-the-uncompressed-folder-of-a-tag-archive-changed' into 'master'
Fix archive prefix bug for refs containing dots
Closes #29565
See merge request !10007
-rw-r--r-- | changelogs/unreleased/29565-name-of-the-uncompressed-folder-of-a-tag-archive-changed.yml | 4 | ||||
-rw-r--r-- | lib/gitlab/git/repository.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 6 |
3 files changed, 11 insertions, 1 deletions
diff --git a/changelogs/unreleased/29565-name-of-the-uncompressed-folder-of-a-tag-archive-changed.yml b/changelogs/unreleased/29565-name-of-the-uncompressed-folder-of-a-tag-archive-changed.yml new file mode 100644 index 00000000000..d0a04b0a130 --- /dev/null +++ b/changelogs/unreleased/29565-name-of-the-uncompressed-folder-of-a-tag-archive-changed.yml @@ -0,0 +1,4 @@ +--- +title: Fix archive prefix bug for refs containing dots +merge_request: +author: diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 228ef7bb7a9..2187dd70ff4 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -201,7 +201,7 @@ module Gitlab def archive_prefix(ref, sha) project_name = self.name.chomp('.git') - "#{project_name}-#{ref.parameterize}-#{sha}" + "#{project_name}-#{ref.tr('/', '-')}-#{sha}" end def archive_metadata(ref, storage_path, format = "tar.gz") diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index bc139d5ef28..9e171e77e4f 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -90,6 +90,12 @@ describe Gitlab::Git::Repository, seed_helper: true do expect(prefix).to eq("#{project_name}-test-branch-SHA") end + + it 'returns correct string for a ref containing dots' do + prefix = repository.archive_prefix('test.branch', 'SHA') + + expect(prefix).to eq("#{project_name}-test.branch-SHA") + end end describe '#archive' do |