From 5b8e6eb708c23d5833a946e4285f4aff165dc0d3 Mon Sep 17 00:00:00 2001 From: Russ Garrett Date: Wed, 12 Sep 2012 14:07:31 +0100 Subject: [PATCH 1/2] Fix bulk-importing repositories with a .git suffix fixes #1445 --- lib/tasks/bulk_import.rake | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/tasks/bulk_import.rake b/lib/tasks/bulk_import.rake index 914f920a8d7..a841db644e6 100644 --- a/lib/tasks/bulk_import.rake +++ b/lib/tasks/bulk_import.rake @@ -8,9 +8,7 @@ task :import_projects, [:directory,:email] => :environment do |t, args| puts "Found #{repos_to_import.size} repos to import" repos_to_import.each do |repo_path| - repo_name = File.basename repo_path - clone_path = "#{git_base_path}#{repo_name}.git" - + repo_name = File.basename(repo_path).sub(/\.git$/, '') puts " Processing #{repo_name}" if Dir.exists? clone_path -- GitLab From 7808e1fc5cc84930a8f7979a3f4c62e62cb529dc Mon Sep 17 00:00:00 2001 From: Russ Garrett Date: Mon, 29 Oct 2012 15:11:45 +0000 Subject: [PATCH 2/2] Make import_projects work again, slightly improve logging --- lib/tasks/bulk_import.rake | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/tasks/bulk_import.rake b/lib/tasks/bulk_import.rake index a841db644e6..2d9f8c3f624 100644 --- a/lib/tasks/bulk_import.rake +++ b/lib/tasks/bulk_import.rake @@ -3,13 +3,14 @@ task :import_projects, [:directory,:email] => :environment do |t, args| user_email, import_directory = args.email, args.directory repos_to_import = Dir.glob("#{import_directory}/*") git_base_path = Gitlab.config.git_base_path - imported_count, skipped_count, failed_count = 0 + imported_count, skipped_count, failed_count = 0, 0, 0 - puts "Found #{repos_to_import.size} repos to import" + puts "Importing #{repos_to_import.size} repositories from #{import_directory}, owner #{user_email}" repos_to_import.each do |repo_path| - repo_name = File.basename(repo_path).sub(/\.git$/, '') puts " Processing #{repo_name}" + repo_name = File.basename(repo_path).sub(/\.git$/, '') + clone_path = "#{git_base_path}#{repo_name}.git" if Dir.exists? clone_path if Project.find_by_code(repo_name) @@ -59,17 +60,14 @@ def create_repo_project(project_name, user_email) if Project.find_by_code(project_name) puts " INFO: Project #{project_name} already exists in Gitlab, skipping." else - project = Project.create( - name: project_name, - code: project_name, - path: project_name, - owner: user, - description: "Automatically created from 'import_projects' rake task on #{Time.now}" + project = Project.create_by_user({ + :name => project_name, + :code => project_name, + :path => project_name, + :description => "Automatically created from 'import_projects' rake task on #{Time.now}"}, user ) if project.valid? - # Add user as admin for project - project.users_projects.create!(:project_access => UsersProject::MASTER, :user => user) project.update_repository else puts " ERROR: Failed to create project #{project} because #{project.errors.first}" -- GitLab