Commit 30912835e3a6824459e1cc64e3144fe90b9aa959
1 parent
182aa19e
Exists in
master
and in
4 other branches
Correctly remove and re-create satellites when project transfer
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
1 changed file
with
6 additions
and
2 deletions
Show diff stats
app/services/project_transfer_service.rb
| @@ -18,6 +18,10 @@ class ProjectTransferService | @@ -18,6 +18,10 @@ class ProjectTransferService | ||
| 18 | raise TransferError.new("Project with same path in target namespace already exists") | 18 | raise TransferError.new("Project with same path in target namespace already exists") |
| 19 | end | 19 | end |
| 20 | 20 | ||
| 21 | + # Remove old satellite | ||
| 22 | + project.satellite.destroy | ||
| 23 | + | ||
| 24 | + # Apply new namespace id | ||
| 21 | project.namespace = new_namespace | 25 | project.namespace = new_namespace |
| 22 | project.save! | 26 | project.save! |
| 23 | 27 | ||
| @@ -29,8 +33,8 @@ class ProjectTransferService | @@ -29,8 +33,8 @@ class ProjectTransferService | ||
| 29 | # Move wiki repo also if present | 33 | # Move wiki repo also if present |
| 30 | gitlab_shell.mv_repository("#{old_path}.wiki", "#{new_path}.wiki") | 34 | gitlab_shell.mv_repository("#{old_path}.wiki", "#{new_path}.wiki") |
| 31 | 35 | ||
| 32 | - # create satellite repo | ||
| 33 | - project.ensure_satellite_exists | 36 | + # Create a new satellite (reload project from DB) |
| 37 | + Project.find(project.id).ensure_satellite_exists | ||
| 34 | 38 | ||
| 35 | # clear project cached events | 39 | # clear project cached events |
| 36 | project.reset_events_cache | 40 | project.reset_events_cache |