Remove direct disk access in RemoveDotGitFromUsernames
Prior to this change, the migration touched the disk path. This has been removed. Further, I believe it also fixes a bug. It seems that GitLab Shell checks if the root path exists, when the path is duplicated. For example, if the shard is located at /home/git, it did check if `/home/git/home/git` existed.
This commit is contained in:
parent
cfbb256b8b
commit
a53a4a4309
|
@ -1,11 +1,7 @@
|
|||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||
# for more information on how to write migrations for GitLab.
|
||||
|
||||
class RemoveDotGitFromUsernames < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
include Gitlab::ShellAdapter
|
||||
|
||||
# Set this constant to true if this migration requires downtime.
|
||||
DOWNTIME = false
|
||||
|
||||
def up
|
||||
|
@ -64,16 +60,14 @@ class RemoveDotGitFromUsernames < ActiveRecord::Migration
|
|||
# we rename suffix instead of removing it
|
||||
path = path.sub(/\.git\z/, '_git')
|
||||
|
||||
Gitlab::GitalyClient::StorageSettings.allow_disk_access do
|
||||
check_routes(path.dup, 0, path)
|
||||
end
|
||||
check_routes(path.dup, 0, path)
|
||||
end
|
||||
|
||||
def check_routes(base, counter, path)
|
||||
route_exists = route_exists?(path)
|
||||
|
||||
Gitlab.config.repositories.storages.each do |shard, storage|
|
||||
if route_exists || path_exists?(shard, storage.legacy_disk_path)
|
||||
Gitlab.config.repositories.storages.each do |shard, _storage|
|
||||
if route_exists || path_exists?(shard, path)
|
||||
counter += 1
|
||||
path = "#{base}#{counter}"
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ describe MigrateProcessCommitWorkerJobs do
|
|||
end
|
||||
|
||||
describe '#repository' do
|
||||
it 'returns a Rugged::Repository' do
|
||||
it 'returns a mock implemention of ::Repository' do
|
||||
migration_project = described_class::Project
|
||||
.find_including_path(project.id)
|
||||
|
||||
|
@ -83,11 +83,7 @@ describe MigrateProcessCommitWorkerJobs do
|
|||
end
|
||||
|
||||
it 'encodes data to UTF-8' do
|
||||
allow_any_instance_of(Rugged::Repository).to receive(:lookup)
|
||||
.with(commit.id)
|
||||
.and_return(commit)
|
||||
|
||||
allow(commit).to receive(:message)
|
||||
allow(commit).to receive(:body)
|
||||
.and_return('김치'.force_encoding('BINARY'))
|
||||
|
||||
migration.up
|
||||
|
|
Loading…
Reference in New Issue