Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2017-12-19 19:53:59 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2018-01-03 21:13:31 +0300
commit64fe954dcebaadd6f686f30eb4ff0be5ebcf172d (patch)
tree3fe3ac6a13ff0c9d5c722c06b06238d64712965e
parent9504a529b758b0352b9c60d67fda8b4ee2a5fec0 (diff)
Update project full path in .git/config when renaming a repository
-rw-r--r--app/models/project.rb5
-rw-r--r--spec/models/project_spec.rb14
-rw-r--r--spec/services/projects/update_service_spec.rb2
3 files changed, 20 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index eac78de1ac9..1182dbda0c0 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1420,6 +1420,11 @@ class Project < ActiveRecord::Base
end
def after_rename_repo
+ # 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.
+ write_repository_config(:fullpath, full_path)
+
path_before_change = previous_changes['path'].first
# We need to check if project had been rolled out to move resource to hashed storage or not and decide
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 7338e341359..10634d22b39 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -2626,6 +2626,14 @@ describe Project do
project.rename_repo
end
end
+
+ it 'updates project full path in .git/config' do
+ allow(project_storage).to receive(:rename_repo).and_return(true)
+
+ expect(project).to receive(:write_repository_config).with(:fullpath, project.full_path)
+
+ project.rename_repo
+ end
end
describe '#pages_path' do
@@ -2781,6 +2789,12 @@ describe Project do
end
end
end
+
+ it 'updates project full path in .git/config' do
+ expect(project).to receive(:write_repository_config).with(:fullpath, project.full_path)
+
+ project.rename_repo
+ end
end
describe '#pages_path' do
diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb
index d887f70efae..fc6aa713d6f 100644
--- a/spec/services/projects/update_service_spec.rb
+++ b/spec/services/projects/update_service_spec.rb
@@ -61,7 +61,7 @@ describe Projects::UpdateService do
end
end
- context 'When project visibility is higher than parent group' do
+ context 'when project visibility is higher than parent group' do
let(:group) { create(:group, visibility_level: Gitlab::VisibilityLevel::INTERNAL) }
before do