Create a Wiki Repository's raw_repository properly
This commit is contained in:
parent
88d2517e36
commit
3f0233e5b5
|
@ -135,7 +135,7 @@ class ProjectWiki
|
|||
end
|
||||
|
||||
def repository
|
||||
@repository ||= Repository.new(full_path, @project, disk_path: disk_path)
|
||||
@repository ||= Repository.new(full_path, @project, disk_path: disk_path, is_wiki: true)
|
||||
end
|
||||
|
||||
def default_branch
|
||||
|
|
|
@ -17,7 +17,7 @@ class Repository
|
|||
include Gitlab::ShellAdapter
|
||||
include RepositoryMirroring
|
||||
|
||||
attr_accessor :full_path, :disk_path, :project
|
||||
attr_accessor :full_path, :disk_path, :project, :is_wiki
|
||||
|
||||
delegate :ref_name_for_sha, to: :raw_repository
|
||||
|
||||
|
@ -72,11 +72,12 @@ class Repository
|
|||
end
|
||||
end
|
||||
|
||||
def initialize(full_path, project, disk_path: nil)
|
||||
def initialize(full_path, project, disk_path: nil, is_wiki: false)
|
||||
@full_path = full_path
|
||||
@disk_path = disk_path || full_path
|
||||
@project = project
|
||||
@commit_cache = {}
|
||||
@is_wiki = is_wiki
|
||||
end
|
||||
|
||||
def ==(other)
|
||||
|
@ -1141,7 +1142,7 @@ class Repository
|
|||
end
|
||||
|
||||
def initialize_raw_repository
|
||||
Gitlab::Git::Repository.new(project.repository_storage, disk_path + '.git', Gitlab::GlRepository.gl_repository(project, false))
|
||||
Gitlab::Git::Repository.new(project.repository_storage, disk_path + '.git', Gitlab::GlRepository.gl_repository(project, is_wiki))
|
||||
end
|
||||
|
||||
def find_commits_by_message_by_shelling_out(query, ref, path, limit, offset)
|
||||
|
|
|
@ -2298,4 +2298,24 @@ describe Repository do
|
|||
project.commit_by(oid: '1' * 40)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#raw_repository' do
|
||||
subject { repository.raw_repository }
|
||||
|
||||
it 'returns a Gitlab::Git::Repository representation of the repository' do
|
||||
expect(subject).to be_a(Gitlab::Git::Repository)
|
||||
expect(subject.relative_path).to eq(project.disk_path + '.git')
|
||||
expect(subject.gl_repository).to eq("project-#{project.id}")
|
||||
end
|
||||
|
||||
context 'with a wiki repository' do
|
||||
let(:repository) { project.wiki.repository }
|
||||
|
||||
it 'creates a Gitlab::Git::Repository with the proper attributes' do
|
||||
expect(subject).to be_a(Gitlab::Git::Repository)
|
||||
expect(subject.relative_path).to eq(project.disk_path + '.wiki.git')
|
||||
expect(subject.gl_repository).to eq("wiki-#{project.id}")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue