diff options
author | Michael Kozono <mkozono@gmail.com> | 2018-03-12 16:55:06 -0700 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2018-03-13 15:05:28 -0700 |
commit | ef62a7c2d17bb84c986d6e8db5f2bd6559803129 (patch) | |
tree | e06519ab5d728777279b23eb4d7f1029d95fbd8d | |
parent | c2ea494187b09b9cd036c5c882232fff017eef1b (diff) | |
download | gitlab-ce-ef62a7c2d17bb84c986d6e8db5f2bd6559803129.tar.gz |
Ensure data integrity
-rw-r--r-- | app/models/concerns/storage/legacy_namespace.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/concerns/storage/legacy_namespace.rb b/app/models/concerns/storage/legacy_namespace.rb index 7ab5518f17a..4fba1494814 100644 --- a/app/models/concerns/storage/legacy_namespace.rb +++ b/app/models/concerns/storage/legacy_namespace.rb @@ -7,6 +7,10 @@ module Storage raise Gitlab::UpdatePathError.new('Namespace cannot be moved, because at least one project has tags in container registry') end + parent_was = if parent_changed? && parent_id_was.present? + Namespace.find(parent_id_was) # raise NotFound early if needed + end + expires_full_path_cache # Move the namespace directory in all storage paths used by member projects @@ -28,7 +32,7 @@ module Storage end if parent_changed? - former_parent_full_path = parent_id_was.nil? ? nil : Namespace.find(parent_id_was).full_path + former_parent_full_path = parent_was.full_path parent_full_path = parent&.full_path Gitlab::UploadsTransfer.new.move_namespace(path, former_parent_full_path, parent_full_path) Gitlab::PagesTransfer.new.move_namespace(path, former_parent_full_path, parent_full_path) |