Merge branch 'sh-git-gc-after-initial-fetch' into 'master'

GitHub import: Run housekeeping after initial import

See merge request gitlab-org/gitlab-ce!26600
This commit is contained in:
Michael Kozono 2019-04-07 15:26:40 +00:00
commit b416555411
3 changed files with 15 additions and 0 deletions

View File

@ -0,0 +1,5 @@
---
title: 'GitHub import: Run housekeeping after initial import'
merge_request: 26600
author:
type: performance

View File

@ -54,6 +54,11 @@ module Gitlab
project.repository.fetch_as_mirror(project.import_url, refmap: refmap, forced: true, remote_name: 'github')
project.change_head(default_branch) if default_branch
# The initial fetch can bring in lots of loose refs and objects.
# Running a `git gc` will make importing pull requests faster.
Projects::HousekeepingService.new(project, :gc).execute
true
rescue Gitlab::Git::Repository::NoRepository, Gitlab::Shell::Error => e
fail_import("Failed to import the repository: #{e.message}")

View File

@ -197,6 +197,11 @@ describe Gitlab::GithubImport::Importer::RepositoryImporter do
.to receive(:fetch_as_mirror)
.with(project.import_url, refmap: Gitlab::GithubImport.refmap, forced: true, remote_name: 'github')
service = double
expect(Projects::HousekeepingService)
.to receive(:new).with(project, :gc).and_return(service)
expect(service).to receive(:execute)
expect(importer.import_repository).to eq(true)
end