summaryrefslogtreecommitdiff
path: root/src/buildtool/storage
AgeCommit message (Collapse)Author
2025-06-12GarbageCollector: Support removal of all generations at onceMaksim Denisov
...that ignores compactification.
2025-06-04Remove unneeded extra checks for upwards symlinksPaul Cristian Sarbu
2025-06-04Add utility methods for caching valid treesPaul Cristian Sarbu
...through marker files kept in storage under generation regime. These can be used to allow valid source trees, i.e., those free of upwards symlinks, to be cached in a persistent manner over multiple builds.
2025-04-22FileSystemManager: Always remove directories recursivelyMaksim Denisov
2025-03-24LargeObjectCAS: Use TmpFile for splicingMaksim Denisov
...and remove LargeObject
2025-03-24TmpDir: minor refactoringMaksim Denisov
2025-02-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-20Separate off id generation to a separate libraryKlaus Aehlig
... and rename appropriately to reflect contents more precisely than the generic "common". This separation also disentangles dependencies a bit.
2025-02-19Store HashFunction by valueMaksim Denisov
Although references give an additional information about ownership, they introduce additional design difficulties.
2025-02-14code structure: rename symlinks_map folder to symlinksPaul Cristian Sarbu
...to remove the unnecessary link between folder name and the logic of resolve_symlinks_map.
2025-02-10Rename kMaxBatchTransferSize to MessageLimits::kMaxGrpcLengthMaksim Denisov
2025-02-05Repository garbage collector: support dropping onlyKlaus Aehlig
Add support for repository gargabe collection to only drop the older generations without rotating.
2025-01-29garbage collection: remove garbage recursivelyKlaus Aehlig
When garbage collecting the oldest generation, we expect it to be a non-empty directory. Therefore, remove it recursively.
2025-01-07Implement rebuilding of StorageConfigMaksim Denisov
2025-01-07Add backend description to CAS in a ctor of TargetCacheMaksim Denisov
...instead of adding it preliminarily.
2025-01-07TargetCache: use BackendDescription for sharding instead of a plain stringMaksim Denisov
2025-01-07Store BackendDescription in StorageConfigMaksim Denisov
...instead of a plain hash. Hash gets computed for different storage types on the fly.
2025-01-07TargetCache: employ the shard even for a default constructed objectMaksim Denisov
...since this is a more generic approach.
2025-01-07Pass BackendDescription to StorageConfig from the outsideMaksim Denisov
2025-01-07Pack BackendDescription to a classMaksim Denisov
...to let it be stored as an independent instance.
2024-12-19Fix cause of minor warningsOliver Reiche
2024-12-19Remove unnecessary movesOliver Reiche
2024-12-09Move compactifier to a separate libraryMaksim Denisov
2024-12-09Move garbage_collector to a separate libraryMaksim Denisov
2024-11-14storage: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14tpp includes: Add hint for IWYU lintingPaul Cristian Sarbu
IWYU needs to be explicitly instructed how to handle included .tpp files in order to not falsely suggest their removal. Conversely, it also needs to know not to suggest including .tpp files instead of the corresponding .hpp files.
2024-11-14target_cache_key: Move hash definition to class headerPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-25StorageUtils: Add generation-aware rehashing ID file mapPaul Cristian Sarbu
Such a file could be used to store mappings of digests from CAS or Git cache to digests of different hash type that represent same content.
2024-10-08Name local variables using lower_caseMaksim Denisov
...and private members using lower_case_
2024-10-08Name static constants using kCamelCase.Maksim Denisov
2024-10-07Enable cppcoreguidelines-* checks.Maksim Denisov
2024-10-07Enable misc-* checks.Maksim Denisov
2024-10-07Enable readability-* checks.Maksim Denisov
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-10-07Enable modernize-* checks.Maksim Denisov
2024-10-07Enable bugprone-empty-catch check.Maksim Denisov
2024-10-07Enable bugprone-exception-escape checkMaksim Denisov
2024-09-26Fix enum sizes proposed by clang-tidy.Maksim Denisov
Enable performance-enum-size check.
2024-09-26Fix automatic moves proposed by clang-tidy.Maksim Denisov
Enable performance-no-automatic-move check.
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-23Store HashFunction by const reference.Maksim Denisov
Despite the fact that HashFunction is a small type, it still makes sense to store it by reference to reflect the ownership. StorageConfig becomes the main holder. Reference holders store HashFunction by const ref and aren't allowed to change it. However, they are free to return HashFunction by value since this doesn't benefit readability anyhow.
2024-09-18Add LocalCAS::CheckTreeInvariant that works with file pathsMaksim Denisov
2024-09-17Small code improvements based on lint warningsPaul Cristian Sarbu
- add more noexcept requirements and enforce existing - fixing inconsistencies related to function arguments - remove redundant static keywords - silencing excessive lint reporting in test cases While there, make more getters const ref.
2024-09-13Check compatibility in Storage based on the hash typeMaksim Denisov
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-11Use ArtifactDigestFactory in StorageMaksim Denisov
...to create ArtifactDigests.
2024-09-11Use ArtifactDigestFactory in TargetCacheEntryMaksim Denisov
...to create ArtifactDigests.
2024-09-11Use HashFunction::Type to deserialize ArtifactDescriptionMaksim Denisov