diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2017-12-19 17:18:26 -0200 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2018-01-03 16:13:31 -0200 |
commit | bd90330740e0ea5c0ce0672fd605a463fcdfc898 (patch) | |
tree | 3c7353a654c8e06bbdd3b38cb967fb227aec47ad /app/services/projects | |
parent | 64fe954dcebaadd6f686f30eb4ff0be5ebcf172d (diff) | |
download | gitlab-ce-bd90330740e0ea5c0ce0672fd605a463fcdfc898.tar.gz |
Update project full path in .git/config when transfering a project
Diffstat (limited to 'app/services/projects')
-rw-r--r-- | app/services/projects/transfer_service.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/services/projects/transfer_service.rb b/app/services/projects/transfer_service.rb index e5cd6fcdfe3..e742df5f696 100644 --- a/app/services/projects/transfer_service.rb +++ b/app/services/projects/transfer_service.rb @@ -75,6 +75,8 @@ module Projects project.old_path_with_namespace = @old_path project.expires_full_path_cache + write_repository_config(@new_path) + execute_system_hooks end rescue Exception # rubocop:disable Lint/RescueException @@ -98,6 +100,13 @@ module Projects project.save! end + def write_repository_config(full_path) + # We'd need to keep track of project full path otherwise directory tree + # created with hashed storage enabled cannot be usefully imported using + # the import rake task. + project.write_repository_config(:fullpath, full_path) + end + def refresh_permissions # This ensures we only schedule 1 job for every user that has access to # the namespaces. @@ -110,6 +119,7 @@ module Projects def rollback_side_effects rollback_folder_move update_namespace_and_visibility(@old_namespace) + write_repository_config(@old_path) end def rollback_folder_move |