summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* element.py: Create destination directory in stage_artifact()abderrahim/virtual-extractJürg Billeter2020-08-261-3/+1
|
* storage: Use variable-length argument list for Directory.descend()Jürg Billeter2020-08-264-75/+60
| | | | | This provides an API in line with, e.g., os.path.join(), and eliminates isinstance checks.
* _casbaseddirectory.py: Create Directory proto objects in canonical formAbderrahim Kitouni2020-08-262-95/+99
| | | | | | | | Create Directory proto objects as part of lazy digest calculation instead of keeping them up-to-date. This is required to create Directory proto objects in canonical form (sorted directory entries). Based on de6a7591365afab686259bcef14bf3244a918c08
* _casbaseddirectory.py: Calculate directory digest lazilyJürg Billeter2020-08-261-50/+26
| | | | | This avoids repeated directory digest recalculation on successive updates.
* _casbaseddirectory.py: Rename `ref` field to `__digest`Jürg Billeter2020-08-261-7/+7
| | | | | External access should use `_get_digest()`. This is in preparation for lazy digest calculation.
* _casbaseddirectory.py: Rename `ref` constructor parameter to `digest`Jürg Billeter2020-08-262-6/+6
| | | | `ref` was misleading.
* Remove unneeded ref=None argument from CasBasedDirectory() callsJürg Billeter2020-08-261-1/+1
|
* tests/internals/storage_vdir_import.py: Use Directory._get_digest()Jürg Billeter2020-08-261-3/+4
|
* _context.py: Cleanup old extract directoriesJürg Billeter2020-08-261-0/+6
| | | | | Extract directories are no longer used or created. This deletes extract directories from older versions of BuildStream on startup.
* _artifactcache.py: Remove unused extractdir fieldJürg Billeter2020-08-261-3/+0
|
* _artifactcache.py: Drop extract directory removal in remove()Jürg Billeter2020-08-261-19/+0
| | | | Extract directories are no longer created.
* cascache.py: Remove unused extract() methodJürg Billeter2020-08-261-40/+0
|
* _artifactcache.py: Remove unused extract() methodJürg Billeter2020-08-261-24/+0
|
* element.py: Remove unused __extract() methodJürg Billeter2020-08-261-19/+0
|
* element.py: Use virtual artifact directory for metadataJürg Billeter2020-08-261-15/+15
|
* _casbaseddirectory.py: Add _exists() methodJürg Billeter2020-08-261-0/+7
|
* _casbaseddirectory.py: Add _objpath() methodJürg Billeter2020-08-261-0/+5
|
* element.py: Use virtual artifact directory to compute manifestJürg Billeter2020-08-261-7/+3
|
* element.py: Use virtual artifact directory to stage dependenciesJürg Billeter2020-08-261-5/+4
|
* tests/artifactcache/expiry.py: Remove test_extract_expiry()Jürg Billeter2020-08-261-35/+0
| | | | The following commits will remove extract directories.
* element.py: Add __get_artifact_directory() methodJürg Billeter2020-08-261-0/+19
|
* _artifactcache.py: Add get_artifact_directory() methodJürg Billeter2020-08-261-0/+22
|
* element.py: Add __get_extract_key() methodJürg Billeter2020-08-261-7/+20
|
* _filebaseddirectory.py: Support importing files from CASAbderrahim Kitouni2020-08-261-12/+95
|
* _filebaseddirectory.py: Add _get_filetype() methodJürg Billeter2020-08-261-0/+16
|
* _casbaseddirectory.py: Remove docstring for import_files()Jürg Billeter2020-08-261-14/+1
| | | | | The docstring in the superclass should be used as reference. This matches FileBasedDirectory.import_files().
* storage: Remove files parameter from Directory.import_filesJürg Billeter2020-08-263-18/+10
|
* element.py: Replace file lists with filter callbacks in stage_artifact()Jürg Billeter2020-08-261-8/+17
|
* element.py: Add __split_filter_func() methodJürg Billeter2020-08-261-11/+36
|
* element.py: Extract __split_filter() from __compute_splits()Jürg Billeter2020-08-261-21/+40
|
* storage: Add filter_callback parameter to Directory.import_filesJürg Billeter2020-08-263-0/+12
|
* utils.py: Add filter_callback parameter to copy_files and link_filesJürg Billeter2020-08-261-4/+21
|
* _scheduler/scheduler.py: Enforce SafeChildWatcherChandan Singh2020-08-261-0/+6
| | | | | In Python 3.8, `ThreadedChildWatcher` is the default watcher that causes issues with our scheduler. Enforce use of `SafeChildWatcher`.
* _casbaseddirectory.py: Use CASCache.checkout() in export_files()Jürg Billeter2020-08-261-35/+2
| | | | This eliminates code duplication.
* cascache.py: Add can_link parameter to checkout()Jürg Billeter2020-08-261-4/+8
| | | | | This allows CasBasedDirectory.export_files() to use CASCache.checkout(), eliminating code duplication.
* cascache.py: Make _checkout() publicJürg Billeter2020-08-261-27/+35
| | | | | This allows CasBasedDirectory.export_files() to use CASCache.checkout(), eliminating code duplication.
* _casbaseddirectory.py: Use lazy instantiation for subdirectoriesJürg Billeter2020-08-261-11/+20
| | | | | This avoids creation of directory objects for the whole tree, if only a part of the tree is used.
* _casbaseddirectory.py: Replace isinstance() with _FileType checksAbderrahim Kitouni2020-08-261-33/+30
| | | | | | | Using isinstance() with concrete classes should typically be avoided, and it's also more expensive than necessary. Based on f6176579f122d370c4ecaba0df1512cea079e0f0
* _casbaseddirectory.py: Add type field to IndexEntry classJürg Billeter2020-08-261-9/+12
|
* storage/directory.py: Add _FileType enumJürg Billeter2020-08-261-0/+25
|
* _casbaseddirectory.py: Use unordered dict for the indexJürg Billeter2020-08-261-3/+1
| | | | | There is no reason for using an ordered dict for the index. This improves descend() performance by about 20%.
* _casbaseddirectory.py: _add_directory(): Drop unused code pathJürg Billeter2020-08-261-10/+3
| | | | | The code path in _add_directory() where the entry already exists was unused. Drop it and add assertion.
* _casbaseddirectory.py: Populate files_written in CAS-to-CAS importJürg Billeter2020-08-261-0/+1
|
* _filebaseddirectory.py: Drop indexJürg Billeter2020-08-261-43/+15
| | | | | It's used very sparingly. The overhead of populating the index is likely higher than the benefit of using it.
* storage: Rename update_utimes parameter to update_mtimeJürg Billeter2020-08-264-10/+10
| | | | utime is short for 'update time' and only the mtime is significant.
* tests/internals/storage_vdir_import.py: Use public API in testJürg Billeter2020-08-261-5/+1
|
* element.py: use CasBasedDirectory to cache artifactsAbderrahim Kitouni2020-08-262-10/+22
| | | | based on 3832c0d1ff7ec7458e04899873bde574066f7f23
* element.py: Expand scope of timed_activity when caching artifactsAbderrahim Kitouni2020-08-261-61/+61
| | | | | | | ArtifactCache.commit() is no longer the only expensive part and even more so with the upcoming change to use CASBasedDirectory. based on 3b881efc9ea5ca440d08e3bd901bec5ebdfc5581
* _casbaseddirectory.py: Add _get_digest() methodJürg Billeter2020-08-261-0/+12
|
* storage: Add Directory.get_size()Jim MacArthur2020-08-263-0/+22
|