summaryrefslogtreecommitdiff
path: root/src/buildtool/common/repository_config.hpp
AgeCommit message (Collapse)Author
2025-06-16Ensure equality operators are really noexcept.Klaus T. Aehlig
... by explicitly catching any possible exception. Mainly to make clang-tidy happy. ...
2025-06-04RepositoryConfig: Ensure consistency in reading blobs and treesPaul Cristian Sarbu
...with respect to rejecting invalid entries such as upwards symlinks. Also ensure that valid trees are only checked once by remebering known valid tress though marker files in local storage.
2025-06-04RepositoryConfig: Give access to a persistent storage config...Paul Cristian Sarbu
...whenever it is given access to a Git repository. The referenced storage config needs to outlive the repository config instance.
2025-06-04git_cas read object: allow validation of individual blobsPaul Cristian Sarbu
This allows individual blobs read to be checked, e.g., for upwards symlinks, also when not part of a tree, which performs such a validation for its entries during its parsing into a GitTree.
2025-01-22Git CAS access: reduce log levelKlaus Aehlig
Trying to access a git object return a recoverable failure, hence the failure to find the object in the git object database should be logged at warning level at most. Moreover, in some cases we should log that event at an even lower level, e.g., if we're just checking the presence of the object in the local git cas to avoid unnecessary network access.
2024-12-19Remove FileRoot::ComputedRootMaksim Denisov
2024-12-19Support substitution of precomputed roots in RepositoryConfigMaksim Denisov
2024-12-19Fix struct member initializationOliver Reiche
2024-12-11RepositoryConfig::SetGitCAS: allow setting log_levelKlaus Aehlig
... as there might be cases where it is expected that setting the git CAS fails, e.g., if referring to the implict git repository in the local build root as a fallback CAS.
2024-11-21RepositoryConfig: support setting a computed rootKlaus Aehlig
2024-11-14common: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-13RepositoryConfig: get rid of implict usage assumptionKlaus Aehlig
The class RepositoryConfig is mutable, but has a set-once derived value, the largest bisimulation of the repositories described. This construction is problematic in that it assumes that all modifications be done before the first inspection of a value happens that implicitly triggers the setting of the derived value. Therefore, at the very least reset this derived value if a repository is modified.
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-10-07Enable bugprone-empty-catch check.Maksim Denisov
2024-09-11Return ArtifactDigest from RepositoryConfig::RepositoryKeyMaksim Denisov
...to prevent additional conversions to ArtifactDigest from plain strings.
2024-07-22Use HashFunction from Storage in RepositoryConfigMaksim Denisov
2024-07-05Pass Storage to RepositoryConfigMaksim Denisov
...and adjust AnalyseContext.
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2023-11-27Refactoring RepositoryConfigPaul Cristian Sarbu
With the introduction of 'just serve', export targets can now be built also independently from one another based on their corresponding minimal repository configuration, as stored in the target cache key. In this context, this commit changes the RepositoryConfig usage from one global (static) instance to pointers passed as necessary throughout the code.
2023-01-20Cleanup local CAS dependency for repository configSascha Roloff
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-08-05Allow to read git trees from global CAS as well as local workspace rootSascha Roloff
2022-06-20Repository representation: also use string as name in bindingsKlaus Aehlig
In this way, we keep the repsitory description more close to a normal multi-repository configuration. The only difference remaining is the absence of repository locations for git-tree roots.
2022-06-13RepoConfig: Compute repository keyOliver Reiche
2022-02-22Initial self-hosting commitKlaus Aehlig
This is the initial version of our tool that is able to build itself. In can be bootstrapped by ./bin/bootstrap.py Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>