summaryrefslogtreecommitdiff
path: root/src/buildtool/file_system
AgeCommit message (Collapse)Author
2023-01-20Move file_storage.hpp to file_system subdirectorySascha Roloff
2023-01-19Minor fixes for compiling with clang-14Oliver Reiche
2022-12-23Just-MR: Remove wrong pass-by-reference when wrapping loggersPaul Cristian Sarbu
Passing the logger by reference would require the caller to be kept alive. Also, being a shared_ptr, the logger can be passed by value at almost no cost.
2022-12-21FS Manager: Add CopyDirectoryImpl methodPaul Cristian Sarbu
2022-12-21Git: Wrap libgit2 raw pointersPaul Cristian Sarbu
2022-12-21Test: Add tests for critical git opsPaul Cristian Sarbu
2022-12-21Just-MR: Add non-critical git ops logic to git repo classPaul Cristian Sarbu
2022-12-21Just-MR: Add critical ops logic to git repo classPaul Cristian Sarbu
2022-12-21Git CAS: Move Git tree ops to fake repo wrapper classPaul Cristian Sarbu
2022-12-20Git CAS: Add fake repository wrapper for git odbPaul Cristian Sarbu
2022-12-20Git CAS: Clean includesPaul Cristian Sarbu
Removed unused file_system_manager dependency
2022-12-20Git CAS: Add a Git context class to maintain the libgit2 statePaul Cristian Sarbu
2022-11-21Use the newly-added concept of private-depsKlaus Aehlig
While there, also add all direct dependencies explicitly; using directly dependencies that are pulled in only indireclty causes problems from a maintainability point of view.
2022-11-07Silence GCC warnings on missing return statementsOliver Reiche
2022-10-26GitCAS: Disable code that is unused during bootstrapOliver Reiche
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-10-11FileSystemMgr: Suppress unsupported object type warningOliver Reiche
... if the object does not even exist. In that case, a trace message is produced and the caller is responsible for reporting errors.
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-08-05Allow to read git trees from global CAS as well as local workspace rootSascha Roloff
2022-08-05Git tree can return its raw string dataSascha Roloff
2022-08-05Directory entries can detect themselves as known trees and return according ↵Sascha Roloff
description
2022-08-05Git tree can return sizeSascha Roloff
2022-08-05Modified artifact digest to provide wire digest on demandSascha Roloff
2022-08-05GitCAS: Support reading/creating trees without filesystem IOOliver Reiche
2022-08-05GitCAS: Add create tree via libgit2's treebuilderOliver Reiche
2022-08-05GitCAS: Implement reading git tree via libgit2Oliver Reiche
2022-06-13multithreading: Add AtomicValue to atomically set/get valueOliver Reiche
... and use it to replace the commonly used pattern in Expression, LinkedMap, and GitTreeEntry. Furthermore, remove assignment operators for Expression and LinkedMap as those are considered to be used in an immutable manner anyway.
2022-06-13FileRoot: support content descriptionKlaus Aehlig
For some file roots, in particular git trees, we can give a complete selfcontained description of the content without accessing any external resources. For those, add a method to return such a complete description that will be used to compute the keys of content-defined repositories.
2022-06-13Include raw identifier to GitTreeKlaus Aehlig
In this way, we have it available when needed, e.g., to get identifers for file roots or to get whole trees as source artifacts.
2022-04-27Remove libggit2 as host bootstrap dependencyKlaus Aehlig
Since in default (bundled) bootstrap, we bring our own version of libgit2, also use that for the initial bootstrap step.
2022-04-26bug fix: FileRoot::DirectoryEntries cannot hold std::monostate anymoreAlberto Sartori
DirectoryEntries must be constructed explicitly either via a GitTree* or an unordered_map<string,ObjectType>. So, the case of an empty directory, is represented by an empty map. Before this patch, empty directories were represented by std::monostate and missing checks on that led to a seg-fault.
2022-04-21add compatibility with original remote build protocolAlberto Sartori
2022-04-14add u+w permission when installing a fileAlberto Sartori
... to allow for overwriting
2022-04-07refactor FileRoot::DirectoryEntriesAlberto Sartori
... to foster the implementation of the built-in target "TREE"
2022-04-07FileSystemManager::ReadDirectory does just one system callAlberto Sartori
2022-04-04Hardlinking: when error is expected, log only at debug levelKlaus Aehlig
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-23Apply changes suggested by clang-format 11Oliver Reiche
2022-03-09FileSystemManager: Support set epoch time on file creationOliver Reiche
2022-03-08FileSystemManager: Implement hard link creation with permsOliver Reiche
2022-03-08FileSystemManager: Implement fd-less write to fileOliver Reiche
2022-03-08FileSystemManager: Implement fd-less file copyOliver Reiche
2022-03-08SystemCommand: Move to new module "src/buildtool/system"Oliver 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>