Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-06-05 | GitCAS: Reduce log level where fatal not expected | Paul Cristian Sarbu | |
...and fix inconsistent capitalisation. | |||
2025-06-05 | GitCAS: Ensure compliance with existing noexcept specifiers | Paul Cristian Sarbu | |
Do not implicitly trust that the third-party code called in these methods is non-throwing and instead properly handle any exception that might arise. | |||
2025-06-04 | directory_map: Correctly report fatal on failures to read from workspace roots | Paul Cristian Sarbu | |
2025-06-04 | FileRoot: Improve documentation | Paul Cristian Sarbu | |
2025-06-04 | FileRoot: Ensure all read blobs and trees contain valid entries | Paul Cristian Sarbu | |
In particular, ensure that Git roots check for, e.g., upwards symlinks, before returning blobs and trees. To ensure that only the bear minimum extra work is performed for this purpose, Git roots now keep also the root's GitTreeEntry as a field, allowing the validity check of root source trees to take place only once and only if required. | |||
2025-06-04 | FileRoot: Small format fix | Paul Cristian Sarbu | |
2025-06-04 | FileRoot: Give git-based roots access to storage config | Paul Cristian Sarbu | |
2025-06-04 | RepositoryConfig: Ensure consistency in reading blobs and trees | Paul 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-04 | Add utility methods for caching valid trees | Paul 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-06-04 | GitTree: Allow tree reading to skip symlinks checker | Paul Cristian Sarbu | |
This is useful when the caller already knows that the tree to look up is valid, and thus the extra check step can be safely skipped. | |||
2025-06-04 | GitRepo: Fix wrong logging level in reading trees | Paul Cristian Sarbu | |
This removes a scenario where otherwise successful (exit code 0) calls to just and just-mr would result in an error-level log message. | |||
2025-06-04 | GitRepo: Add tree reader without symlink checker | Paul Cristian Sarbu | |
2025-06-04 | GitTree: Ensure all read entries are valid | Paul Cristian Sarbu | |
Match behaviour of reading trees, which always checks for invalid entries, also for reading blobs. | |||
2025-06-04 | git_cas read object: allow validation of individual blobs | Paul 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-06-04 | git_cas: Be explicit in hash type (raw or hex) when reading | Paul Cristian Sarbu | |
2025-06-04 | GitTree: Fix comment typo | Paul Cristian Sarbu | |
2025-05-28 | GitRepo: Methods expected to use a logger should do so... | Paul Cristian Sarbu | |
...in all return paths, including in reporting caught exceptions. In this way give the opportunity for any calling AsyncMap to receive an expected fatal logger call on failure and thus be able to shut down gracefully. This is in line with the AsyncMap design, where the loggers are assumed to be safe to call by a consumer. | |||
2025-04-22 | FileSystemManager: When copying, take into account equivalent files. | Maksim Denisov | |
2025-04-22 | FileSystemManager: Always copy directories recursively | Maksim Denisov | |
2025-04-22 | FileSystemManager: Always remove directories recursively | Maksim Denisov | |
2025-04-10 | FilesystemManger: reduce debug level for absent files | Klaus Aehlig | |
At various places in the build tool, we try to read files from various CASes and caches. The absence of a file there is normal; therefore, reduce log level in order to not overload the debug-level log. | |||
2025-04-01 | git_repo: Add missing include in debug mode | Paul Cristian Sarbu | |
2025-03-11 | Add library for atomically writing files | Klaus Aehlig | |
... by using the write-rename dance. This allows processes waiting for pid or similar files to rely on the information being available as soon as the file is available. | |||
2025-03-05 | resolve_symlinks_map: Fix missing ignore special flag in reading tree | Paul Cristian Sarbu | |
2025-03-05 | FileSystemManager: Let caller decide log level for reading directory | Paul Cristian Sarbu | |
Do not emit errors when it does not lead to build failures. Callers handle the log level at which failures of this method should be logged. | |||
2025-02-28 | Include ArtifactDigestFactory into "common" library | Maksim Denisov | |
2025-02-21 | FileSystemManager: Use IncrementalReader | Maksim Denisov | |
2025-02-20 | Separate off id generation to a separate library | Klaus Aehlig | |
... and rename appropriately to reflect contents more precisely than the generic "common". This separation also disentangles dependencies a bit. | |||
2025-02-19 | Store HashFunction by value | Maksim Denisov | |
Although references give an additional information about ownership, they introduce additional design difficulties. | |||
2025-02-14 | Add enum for add-to-cas resolve special option | Paul Cristian Sarbu | |
2025-02-14 | code structure: rename symlinks_map folder to symlinks | Paul Cristian Sarbu | |
...to remove the unnecessary link between folder name and the logic of resolve_symlinks_map. | |||
2025-02-14 | pragma_special.hpp: Inline global scope maps | Paul Cristian Sarbu | |
2025-01-22 | Git CAS access: reduce log level | Klaus 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. | |||
2025-01-22 | Computed roots: extend data structure to support the absent pragma | Klaus Aehlig | |
2025-01-21 | Just: Support absent tree structure roots | Maksim Denisov | |
2025-01-15 | Add to GitRepo common implementation IsTreeInRepo | Maksim Denisov | |
2025-01-15 | Add to GitRepo common implementation of ImportToGit | Maksim Denisov | |
2024-12-19 | Implement TreeStructureRoot | Maksim Denisov | |
2024-12-19 | FileRoot: disclose RootGit data. | Maksim Denisov | |
2024-12-19 | Remove FileRoot::ComputedRoot | Maksim Denisov | |
2024-12-19 | Use PrecomputedRoots during evaluation | Maksim Denisov | |
2024-12-19 | Support PrecomputedRoots in FileRoot | Maksim Denisov | |
2024-12-19 | Implement PrecomputedRoots | Maksim Denisov | |
...that is an abstract representation of roots that must be computed before the start of the main build. | |||
2024-12-19 | Fix cause of minor warnings | Oliver Reiche | |
2024-12-19 | Fix struct member initialization | Oliver Reiche | |
2024-12-19 | Remove unused function | Oliver Reiche | |
2024-12-11 | GitCAS::Open: allow specifying the log-level for failure | Klaus Aehlig | |
This method returns a GitCASPtr allowing the caller to handle failure gracefully. Therefore, logging should be at most at level Warning as it is up to the caller to provide the fatal error message. Moreover, it can be at lower level in cases where failure to open that git cas is not an unexpected event, e.g., when looking for a blob in local mirrors first. | |||
2024-12-09 | Use expected to return an error from ParseRoot | Maksim Denisov | |
2024-12-05 | GitCAS: remove friend GitRepo | Maksim Denisov | |
...and access internal state via getters. | |||
2024-12-05 | GitCAS: remove mutex and locks | Maksim Denisov | |
...since there are no unique_locks any more. |