Commit ff35b37fd2df3b4bdcb9f1b7448d98df07237d08

Authored by Dmitriy Zaporozhets
1 parent 1fb99264

transfer also wiki repository when transfer a project

Showing 1 changed file with 8 additions and 2 deletions   Show diff stats
app/services/project_transfer_service.rb
@@ -5,6 +5,8 @@ @@ -5,6 +5,8 @@
5 class ProjectTransferService 5 class ProjectTransferService
6 include Gitlab::ShellAdapter 6 include Gitlab::ShellAdapter
7 7
  8 + class TransferError < StandardError; end
  9 +
8 attr_accessor :project 10 attr_accessor :project
9 11
10 def transfer(project, new_namespace) 12 def transfer(project, new_namespace)
@@ -19,14 +21,18 @@ class ProjectTransferService @@ -19,14 +21,18 @@ class ProjectTransferService
19 project.namespace = new_namespace 21 project.namespace = new_namespace
20 project.save! 22 project.save!
21 23
  24 + # Move main repository
22 unless gitlab_shell.mv_repository(old_path, new_path) 25 unless gitlab_shell.mv_repository(old_path, new_path)
23 raise TransferError.new('Cannot move project') 26 raise TransferError.new('Cannot move project')
24 end 27 end
25 28
  29 + # Move wiki repo also if present
  30 + if project.wikis.any?
  31 + gitlab_shell.mv_repository("#{old_path}.wiki", "#{new_path}.wiki")
  32 + end
  33 +
26 true 34 true
27 end 35 end
28 - rescue => ex  
29 - raise Project::TransferError.new(ex.message)  
30 end 36 end
31 end 37 end
32 38