summaryrefslogtreecommitdiff
path: root/lib/spack/spack/fetch_strategy.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/spack/fetch_strategy.py')
-rw-r--r--lib/spack/spack/fetch_strategy.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py
index ea85c6a682..df993978af 100644
--- a/lib/spack/spack/fetch_strategy.py
+++ b/lib/spack/spack/fetch_strategy.py
@@ -865,7 +865,12 @@ class GitFetchStrategy(VCSFetchStrategy):
repo_name = get_single_file(".")
if self.stage:
self.stage.srcdir = repo_name
- shutil.move(repo_name, dest)
+ shutil.copytree(repo_name, dest, symlinks=True)
+ shutil.rmtree(
+ repo_name,
+ ignore_errors=False,
+ onerror=fs.readonly_file_handler(ignore_errors=True),
+ )
with working_dir(dest):
checkout_args = ["checkout", commit]