Skip to content
Snippets Groups Projects
Commit e72aeccd authored by James Lopez's avatar James Lopez Committed by Douwe Maan
Browse files

Resolve "Unable to import repository: undefined method `import_file' for nil:NilClass"

parent 78b3eea7
No related branches found
No related tags found
1 merge request!10495Merge Requests - Assignee
Loading
Loading
@@ -11,7 +11,7 @@ class Import::GitlabProjectsController < Import::BaseController
 
def create
unless file_is_valid?
return redirect_back_or_default(options: { alert: "You need to upload a GitLab project export archive." })
return redirect_back_or_default(options: { alert: "You need to upload a GitLab project export archive (ending in .gz)." })
end
 
@project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute
Loading
Loading
@@ -29,7 +29,11 @@ class Import::GitlabProjectsController < Import::BaseController
private
 
def file_is_valid?
project_params[:file] && project_params[:file].respond_to?(:read)
return false unless project_params[:file] && project_params[:file].respond_to?(:read)
filename = project_params[:file].original_filename
ImportExportUploader::EXTENSION_WHITELIST.include?(File.extname(filename).delete('.'))
end
 
def verify_gitlab_project_import_enabled
Loading
Loading
Loading
Loading
@@ -196,7 +196,7 @@ class ProjectsController < Projects::ApplicationController
 
def download_export
if @project.export_file_exists?
send_upload(@project.export_file)
send_upload(@project.export_file, attachment: @project.export_file.filename)
else
redirect_to(
edit_project_path(@project, anchor: 'js-export-project'),
Loading
Loading
---
title: Fix import error when archive does not have the correct extension
merge_request: 21765
author:
type: fixed
Loading
Loading
@@ -3,7 +3,7 @@ require 'spec_helper'
describe Import::GitlabProjectsController do
set(:namespace) { create(:namespace) }
set(:user) { namespace.owner }
let(:file) { fixture_file_upload('spec/fixtures/doc_sample.txt', 'text/plain') }
let(:file) { fixture_file_upload('spec/fixtures/project_export.tar.gz', 'text/plain') }
 
before do
sign_in(user)
Loading
Loading
Loading
Loading
@@ -49,6 +49,8 @@ describe 'Import/Export - project export integration test', :js do
 
expect(file_permissions(project.export_path)).to eq(0700)
 
expect(project.export_file.path).to include('tar.gz')
in_directory_with_expanded_export(project) do |exit_status, tmpdir|
expect(exit_status).to eq(0)
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment