summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-12-05Common API: correctly report failureKlaus Aehlig
If fetching via the primary API failed and there is no fallback, we should fail rather than tacitly continuing with the next object to fetch.
2024-12-05GitCAS: remove friend GitRepoMaksim Denisov
...and access internal state via getters.
2024-12-05GitCAS: remove mutex and locksMaksim Denisov
...since there are no unique_locks any more.
2024-12-05GitRepo: don't reassign git_repository to git_odbMaksim Denisov
...and remove GuardedRepo.
2024-12-05GitCAS: retain git_repository alive.Maksim Denisov
2024-12-05GitCAS: implement method for creation of an empty GitCASMaksim Denisov
...and use it in GitRepo to set custom backends.
2024-12-05GitCAS: remove redundant methodMaksim Denisov
2024-12-05GitCAS: avoid manual memory managementMaksim Denisov
...and fix a potential memory leak in the try-catch for std::filesystem::absolute.
2024-12-05GitCAS: use the same call for openning repository as GitRepo does.Maksim Denisov
2024-12-05GitRepo: keep GuardedRepo unexposed and adjust the interface.Maksim Denisov
2024-12-04Rehash root lookup, if building in compatible modeKlaus Aehlig
To avoid unnecessary staging and git imports of computed roots for build in compatible mode, use the rehashing functionality to allow us to compute the git tree of that root in memory.
2024-12-04Cache lookup: support rehash functionKlaus Aehlig
2024-12-04ArtifactsRoot: support rehash-functionKlaus Aehlig
When constructing a git tree out of an artifact stage, support rehashing the artifact digests on the fly, so that artifact stages not based on GitSHA1 can be supported as well.
2024-12-04rehash_utils: add a class for the rehash functionKlaus Aehlig
... to allow a more specific signature when passing around the rehash function.
2024-12-04Add deep rehashing from bazel::Directories to GitMaksim Denisov
2024-12-04BazelMsgFactory: Add method to create Git tree from bazel DirectoryPaul Cristian Sarbu
2024-12-04Add RehashGitDigest functionMaksim Denisov
2024-12-04Add RehashDigest functionMaksim Denisov
2024-12-04Rename MRApiUtils to RehashUtilsMaksim Denisov
2024-12-03For FetchIntoODBBackend "Ensure" backend is validMaksim Denisov
2024-12-03Avoid double deletion of git_repository in GuardedRepoMaksim Denisov
2024-12-03JustMR: add computed overlay repos to reachableMaksim Denisov
2024-12-03JustMR: treat computed roots like any other repositoryMaksim Denisov
...and process their bindings.
2024-12-03JustMR: process overlay repositories during traverseMaksim Denisov
...and remove the second for-loop.
2024-12-03JustMR: replace recursion in traverse with a for-loopMaksim Denisov
2024-12-02Synchronize initialization of a git repo across processesMaksim Denisov
2024-12-02Add aditional checks to initializations of git reposMaksim Denisov
2024-12-02Replace default value of GitOpValue's result field by std::nullopt.Maksim Denisov
2024-12-02Store keys in CriticalGitOpGuard's mapMaksim Denisov
2024-11-29Clean up unused depsKlaus Aehlig
2024-11-29expression_function: fix depsKlaus Aehlig
There is no such thing as private dependencies of a header-only library
2024-11-28computed roots: restrict in-memory root computation to the supported casesKlaus Aehlig
... and, in this way, avoid git-tree computations with invalid git identifiers.
2024-11-28Ensure gitstrarray gets created with alive pointers.Maksim Denisov
2024-11-28computed roots: properly report failure to materialize rootsKlaus Aehlig
2024-11-27computed roots: enforce export targets of content-fixed reposKlaus Aehlig
... and look up values in cache, if possible.
2024-11-27Add a library computing, in memory, a git tree from a stageKlaus Aehlig
Computed roots are given as the artifacts stage of a target. However, to be usable as a root, we need the git tree identifier of that root. Therefore, add a library doing this computation, avoiding file-system operations whenever possible.
2024-11-27JustMR: Setup computed repositoriesMaksim Denisov
2024-11-27JustMR: Add computed repos and their targets to reachableMaksim Denisov
2024-11-27JustMR: Parse computed repositoriesMaksim Denisov
2024-11-25Fix unchecked access to FileRootMaksim Denisov
2024-11-22AnalyseAndBuild: also write target-level cache entriesKlaus Aehlig
While there, also clean up the analysis result as soon as it is no longer needed.
2024-11-22build_utils: fix doc stringKlaus Aehlig
When the signature changed in df4ac66b272d1e26df42855143dda79fc268b558, the doc string should have been adapted as well. Do this now.
2024-11-22Computed roots: use separate statistics for each root evaluationKlaus Aehlig
... instead of mixing up the counting with the global action count, that then would exceed the top-level discovered actions.
2024-11-21Computed-roots evaluation: improve reportingKlaus Aehlig
For subcomputations add the log to CAS and only report the blob identifier. Also, indicate at the beginning, that computed roots are to be computed. While there, simplify code by using the ToString() method of computed roots.
2024-11-21FileRoot::ComputedRoot: add ToString() methodKlaus Aehlig
2024-11-21AnalyseAndBuild: properly pass the loggerKlaus Aehlig
... also to the ToResult method of the result map.
2024-11-21ObjectCas: demote log message on absent blob to traceKlaus Aehlig
The way we use our object cas, it is not unsual that a blob asked for is not present. Therefore, logging this at debug level floods that level with too many messages irrelevant for debugging. Fix this, be demoting to trace level.
2024-11-21Materialize computed roots before top-level analysisKlaus Aehlig
Add a basic implementation of computed roots. So far we neither enforce nor make good use of the fact that the underlying target of a computed root has to be an export target of a content-fixed repository; instead, we always install the root to a temporary directory and pick it up from there. Still, the basic functionality is there, and it is minimally useful.
2024-11-21Implement AnalyseAndBuild functionMaksim Denisov
2024-11-21RepositoryConfig: support setting a computed rootKlaus Aehlig