summaryrefslogtreecommitdiff
path: root/src/buildtool/file_system
AgeCommit message (Collapse)Author
2025-04-22FileSystemManager: When copying, take into account equivalent files.Maksim Denisov
2025-04-22FileSystemManager: Always copy directories recursivelyMaksim Denisov
2025-04-22FileSystemManager: Always remove directories recursivelyMaksim Denisov
2025-04-10FilesystemManger: reduce debug level for absent filesKlaus 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-01git_repo: Add missing include in debug modePaul Cristian Sarbu
2025-03-11Add library for atomically writing filesKlaus 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-05resolve_symlinks_map: Fix missing ignore special flag in reading treePaul Cristian Sarbu
2025-03-05FileSystemManager: Let caller decide log level for reading directoryPaul 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-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-21FileSystemManager: Use IncrementalReaderMaksim 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-14Add enum for add-to-cas resolve special optionPaul Cristian Sarbu
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-14pragma_special.hpp: Inline global scope mapsPaul Cristian Sarbu
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.
2025-01-22Computed roots: extend data structure to support the absent pragmaKlaus Aehlig
2025-01-21Just: Support absent tree structure rootsMaksim Denisov
2025-01-15Add to GitRepo common implementation IsTreeInRepoMaksim Denisov
2025-01-15Add to GitRepo common implementation of ImportToGitMaksim Denisov
2024-12-19Implement TreeStructureRootMaksim Denisov
2024-12-19FileRoot: disclose RootGit data.Maksim Denisov
2024-12-19Remove FileRoot::ComputedRootMaksim Denisov
2024-12-19Use PrecomputedRoots during evaluationMaksim Denisov
2024-12-19Support PrecomputedRoots in FileRootMaksim Denisov
2024-12-19Implement PrecomputedRootsMaksim Denisov
...that is an abstract representation of roots that must be computed before the start of the main build.
2024-12-19Fix cause of minor warningsOliver Reiche
2024-12-19Fix struct member initializationOliver Reiche
2024-12-19Remove unused functionOliver Reiche
2024-12-11GitCAS::Open: allow specifying the log-level for failureKlaus 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-09Use expected to return an error from ParseRootMaksim Denisov
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-03For FetchIntoODBBackend "Ensure" backend is validMaksim Denisov
2024-12-03Avoid double deletion of git_repository in GuardedRepoMaksim Denisov
2024-12-02Synchronize initialization of a git repo across processesMaksim Denisov
2024-11-28Ensure gitstrarray gets created with alive pointers.Maksim Denisov
2024-11-21FileRoot::ComputedRoot: add ToString() methodKlaus Aehlig
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-21Add data structure for the description of a computed rootKlaus Aehlig
2024-11-14file_system: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-10Remove from OSS intersecting public-private dependenciesMaksim Denisov