summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim MacArthur <jim.macarthur@codethink.co.uk>2018-10-25 16:48:23 +0100
committerJim MacArthur <jim.macarthur@codethink.co.uk>2018-10-29 11:09:54 +0000
commitaf6b327fe61f8629d07f7c1d523f2283bf861bbd (patch)
tree6d400110d91186e7578576635550024a8f06c6ad
parent5fc7d6b407edc3a4335144e4658f5e52a5ec13cd (diff)
downloadbuildstream-af6b327fe61f8629d07f7c1d523f2283bf861bbd.tar.gz
Make the duplication test optional in cas_based_directory
-rw-r--r--buildstream/storage/_casbaseddirectory.py35
1 files changed, 17 insertions, 18 deletions
diff --git a/buildstream/storage/_casbaseddirectory.py b/buildstream/storage/_casbaseddirectory.py
index ce0ec2bd2..f1799b6e1 100644
--- a/buildstream/storage/_casbaseddirectory.py
+++ b/buildstream/storage/_casbaseddirectory.py
@@ -854,35 +854,34 @@ class CasBasedDirectory(Directory):
if self.parent:
self.parent._recalculate_recursing_up(self)
- # Duplicate the current directory
-
+ duplicate_test = False
print("Original CAS before CAS-based import: {}".format(self.show_files_recursive()))
print("Original CAS hash: {}".format(self.ref.hash))
duplicate_cas = None
self._verify_unique()
if isinstance(external_pathspec, CasBasedDirectory):
- duplicate_cas = CasBasedDirectory(self.context, ref=copy.copy(self.ref))
- duplicate_cas._verify_unique()
+ if duplicate_test:
+ duplicate_cas = CasBasedDirectory(self.context, ref=copy.copy(self.ref))
+ duplicate_cas._verify_unique()
+ print("Duplicated CAS before file-based import: {}".format(duplicate_cas.show_files_recursive()))
+ print("Duplicate CAS hash: {}".format(duplicate_cas.ref.hash))
print("-"*80 + "Performing direct CAS-to-CAS import")
- print("Duplicated CAS before file-based import: {}".format(duplicate_cas.show_files_recursive()))
- print("Duplicate CAS hash: {}".format(duplicate_cas.ref.hash))
result = self._import_cas_into_cas(external_pathspec, files=files)
self._verify_unique()
print("Result of cas-to-cas import: {}".format(self.show_files_recursive()))
print("-"*80 + "Performing round-trip import via file system")
- with tempfile.TemporaryDirectory(prefix="roundtrip") as tmpdir:
- external_pathspec.export_files(tmpdir)
- if files is None:
- files = list(list_relative_paths(tmpdir))
- print("Importing from filesystem: filelist is: {}".format(files))
- duplicate_cas._import_files_from_directory(tmpdir, files=files)
- duplicate_cas._recalculate_recursing_down()
- if duplicate_cas.parent:
- duplicate_cas.parent._recalculate_recursing_up(duplicate_cas)
- print("Result of direct import: {}".format(duplicate_cas.show_files_recursive()))
-
-
+ if duplicate_test:
+ with tempfile.TemporaryDirectory(prefix="roundtrip") as tmpdir:
+ external_pathspec.export_files(tmpdir)
+ if files is None:
+ files = list(list_relative_paths(tmpdir))
+ print("Importing from filesystem: filelist is: {}".format(files))
+ duplicate_cas._import_files_from_directory(tmpdir, files=files)
+ duplicate_cas._recalculate_recursing_down()
+ if duplicate_cas.parent:
+ duplicate_cas.parent._recalculate_recursing_up(duplicate_cas)
+ print("Result of direct import: {}".format(duplicate_cas.show_files_recursive()))
else:
print("-"*80 + "Performing initial import")
if isinstance(external_pathspec, FileBasedDirectory):