diff options
author | Jim MacArthur <jim.macarthur@codethink.co.uk> | 2018-10-25 16:48:23 +0100 |
---|---|---|
committer | Jim MacArthur <jim.macarthur@codethink.co.uk> | 2018-10-29 11:09:54 +0000 |
commit | af6b327fe61f8629d07f7c1d523f2283bf861bbd (patch) | |
tree | 6d400110d91186e7578576635550024a8f06c6ad | |
parent | 5fc7d6b407edc3a4335144e4658f5e52a5ec13cd (diff) | |
download | buildstream-af6b327fe61f8629d07f7c1d523f2283bf861bbd.tar.gz |
Make the duplication test optional in cas_based_directory
-rw-r--r-- | buildstream/storage/_casbaseddirectory.py | 35 |
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): |