diff --git a/app/services/projects/hashed_storage/migrate_repository_service.rb b/app/services/projects/hashed_storage/migrate_repository_service.rb
index 7212e7524ab2a01f77ebf3c939b158b7de7938d9..c076ce06278a4fc1ee0be971f99525f6a89d8359 100644
--- a/app/services/projects/hashed_storage/migrate_repository_service.rb
+++ b/app/services/projects/hashed_storage/migrate_repository_service.rb
@@ -39,6 +39,13 @@ module Projects
           yield
         end
 
+        # 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.
+        if result
+          project.write_repository_config(:fullpath, project.full_path)
+        end
+
         result
       end
 
diff --git a/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb b/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb
index 3a3e47fd9c03e36b9055f42d843695e107177244..ded864beb1d5aae2bb697f4a557c66213828ad38 100644
--- a/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb
+++ b/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb
@@ -2,7 +2,7 @@ require 'spec_helper'
 
 describe Projects::HashedStorage::MigrateRepositoryService do
   let(:gitlab_shell) { Gitlab::Shell.new }
-  let(:project) { create(:project, :empty_repo, :wiki_repo) }
+  let(:project) { create(:project, :repository, :wiki_repo) }
   let(:service) { described_class.new(project) }
   let(:legacy_storage) { Storage::LegacyProject.new(project) }
   let(:hashed_storage) { Storage::HashedProject.new(project) }
@@ -33,6 +33,12 @@ describe Projects::HashedStorage::MigrateRepositoryService do
 
         service.execute
       end
+
+      it 'writes project full path to .git/config' do
+        service.execute
+
+        expect(project.repo.config['gitlab.fullpath']).to eq project.full_path
+      end
     end
 
     context 'when one move fails' do