Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | element.py: Create destination directory in stage_artifact()abderrahim/virtual-extract | Jürg Billeter | 2020-08-26 | 1 | -3/+1 |
| | |||||
* | storage: Use variable-length argument list for Directory.descend() | Jürg Billeter | 2020-08-26 | 4 | -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 form | Abderrahim Kitouni | 2020-08-26 | 2 | -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 lazily | Jürg Billeter | 2020-08-26 | 1 | -50/+26 |
| | | | | | This avoids repeated directory digest recalculation on successive updates. | ||||
* | _casbaseddirectory.py: Rename `ref` field to `__digest` | Jürg Billeter | 2020-08-26 | 1 | -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 Billeter | 2020-08-26 | 2 | -6/+6 |
| | | | | `ref` was misleading. | ||||
* | Remove unneeded ref=None argument from CasBasedDirectory() calls | Jürg Billeter | 2020-08-26 | 1 | -1/+1 |
| | |||||
* | tests/internals/storage_vdir_import.py: Use Directory._get_digest() | Jürg Billeter | 2020-08-26 | 1 | -3/+4 |
| | |||||
* | _context.py: Cleanup old extract directories | Jürg Billeter | 2020-08-26 | 1 | -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 field | Jürg Billeter | 2020-08-26 | 1 | -3/+0 |
| | |||||
* | _artifactcache.py: Drop extract directory removal in remove() | Jürg Billeter | 2020-08-26 | 1 | -19/+0 |
| | | | | Extract directories are no longer created. | ||||
* | cascache.py: Remove unused extract() method | Jürg Billeter | 2020-08-26 | 1 | -40/+0 |
| | |||||
* | _artifactcache.py: Remove unused extract() method | Jürg Billeter | 2020-08-26 | 1 | -24/+0 |
| | |||||
* | element.py: Remove unused __extract() method | Jürg Billeter | 2020-08-26 | 1 | -19/+0 |
| | |||||
* | element.py: Use virtual artifact directory for metadata | Jürg Billeter | 2020-08-26 | 1 | -15/+15 |
| | |||||
* | _casbaseddirectory.py: Add _exists() method | Jürg Billeter | 2020-08-26 | 1 | -0/+7 |
| | |||||
* | _casbaseddirectory.py: Add _objpath() method | Jürg Billeter | 2020-08-26 | 1 | -0/+5 |
| | |||||
* | element.py: Use virtual artifact directory to compute manifest | Jürg Billeter | 2020-08-26 | 1 | -7/+3 |
| | |||||
* | element.py: Use virtual artifact directory to stage dependencies | Jürg Billeter | 2020-08-26 | 1 | -5/+4 |
| | |||||
* | tests/artifactcache/expiry.py: Remove test_extract_expiry() | Jürg Billeter | 2020-08-26 | 1 | -35/+0 |
| | | | | The following commits will remove extract directories. | ||||
* | element.py: Add __get_artifact_directory() method | Jürg Billeter | 2020-08-26 | 1 | -0/+19 |
| | |||||
* | _artifactcache.py: Add get_artifact_directory() method | Jürg Billeter | 2020-08-26 | 1 | -0/+22 |
| | |||||
* | element.py: Add __get_extract_key() method | Jürg Billeter | 2020-08-26 | 1 | -7/+20 |
| | |||||
* | _filebaseddirectory.py: Support importing files from CAS | Abderrahim Kitouni | 2020-08-26 | 1 | -12/+95 |
| | |||||
* | _filebaseddirectory.py: Add _get_filetype() method | Jürg Billeter | 2020-08-26 | 1 | -0/+16 |
| | |||||
* | _casbaseddirectory.py: Remove docstring for import_files() | Jürg Billeter | 2020-08-26 | 1 | -14/+1 |
| | | | | | The docstring in the superclass should be used as reference. This matches FileBasedDirectory.import_files(). | ||||
* | storage: Remove files parameter from Directory.import_files | Jürg Billeter | 2020-08-26 | 3 | -18/+10 |
| | |||||
* | element.py: Replace file lists with filter callbacks in stage_artifact() | Jürg Billeter | 2020-08-26 | 1 | -8/+17 |
| | |||||
* | element.py: Add __split_filter_func() method | Jürg Billeter | 2020-08-26 | 1 | -11/+36 |
| | |||||
* | element.py: Extract __split_filter() from __compute_splits() | Jürg Billeter | 2020-08-26 | 1 | -21/+40 |
| | |||||
* | storage: Add filter_callback parameter to Directory.import_files | Jürg Billeter | 2020-08-26 | 3 | -0/+12 |
| | |||||
* | utils.py: Add filter_callback parameter to copy_files and link_files | Jürg Billeter | 2020-08-26 | 1 | -4/+21 |
| | |||||
* | _scheduler/scheduler.py: Enforce SafeChildWatcher | Chandan Singh | 2020-08-26 | 1 | -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 Billeter | 2020-08-26 | 1 | -35/+2 |
| | | | | This eliminates code duplication. | ||||
* | cascache.py: Add can_link parameter to checkout() | Jürg Billeter | 2020-08-26 | 1 | -4/+8 |
| | | | | | This allows CasBasedDirectory.export_files() to use CASCache.checkout(), eliminating code duplication. | ||||
* | cascache.py: Make _checkout() public | Jürg Billeter | 2020-08-26 | 1 | -27/+35 |
| | | | | | This allows CasBasedDirectory.export_files() to use CASCache.checkout(), eliminating code duplication. | ||||
* | _casbaseddirectory.py: Use lazy instantiation for subdirectories | Jürg Billeter | 2020-08-26 | 1 | -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 checks | Abderrahim Kitouni | 2020-08-26 | 1 | -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 class | Jürg Billeter | 2020-08-26 | 1 | -9/+12 |
| | |||||
* | storage/directory.py: Add _FileType enum | Jürg Billeter | 2020-08-26 | 1 | -0/+25 |
| | |||||
* | _casbaseddirectory.py: Use unordered dict for the index | Jürg Billeter | 2020-08-26 | 1 | -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 path | Jürg Billeter | 2020-08-26 | 1 | -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 import | Jürg Billeter | 2020-08-26 | 1 | -0/+1 |
| | |||||
* | _filebaseddirectory.py: Drop index | Jürg Billeter | 2020-08-26 | 1 | -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_mtime | Jürg Billeter | 2020-08-26 | 4 | -10/+10 |
| | | | | utime is short for 'update time' and only the mtime is significant. | ||||
* | tests/internals/storage_vdir_import.py: Use public API in test | Jürg Billeter | 2020-08-26 | 1 | -5/+1 |
| | |||||
* | element.py: use CasBasedDirectory to cache artifacts | Abderrahim Kitouni | 2020-08-26 | 2 | -10/+22 |
| | | | | based on 3832c0d1ff7ec7458e04899873bde574066f7f23 | ||||
* | element.py: Expand scope of timed_activity when caching artifacts | Abderrahim Kitouni | 2020-08-26 | 1 | -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() method | Jürg Billeter | 2020-08-26 | 1 | -0/+12 |
| | |||||
* | storage: Add Directory.get_size() | Jim MacArthur | 2020-08-26 | 3 | -0/+22 |
| |