summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-12-07just-mr fetch: Extend to include 'git tree' repositoriesPaul Cristian Sarbu
This includes implementing the logic for the --backup-to-remote and --fetch-absent options.
2023-12-07just-mr setup: Allow --fetch-absent also for 'git tree' repositoriesPaul Cristian Sarbu
2023-12-07just-mr git tree: Interrogate also just serve endpoint if providedPaul Cristian Sarbu
2023-12-07just serve: Implement client-side ServeTree and extend serve APIPaul Cristian Sarbu
2023-12-07just serve: Implement server-side ServeTree RPCPaul Cristian Sarbu
2023-12-07source_tree.cpp: Fix wrong path in log messagePaul Cristian Sarbu
2023-12-07just_serve.proto: Add rpc to serve known tree and sync it to remote CASPaul Cristian Sarbu
2023-12-07just-mr git tree: Extract the fetch logic in its own async mapPaul Cristian Sarbu
2023-12-07just-mr fetch: Clarify naming of current fetch async mapPaul Cristian Sarbu
As preparatory step for extending the types of repositories that are targeted by a just-mr fetch subcommand, names of certain variables and of the currently only fetch operation async map were changed to clarify that they only target archives.
2023-12-07just-mr git tree: Inquire remote execution before calling fetch commandPaul Cristian Sarbu
2023-12-07content_cas_map: Remove unnecessary return typePaul Cristian Sarbu
As this map is supposed to work as an all-or-nothing guarantee of content being in CAS, we can replace the bool return type with the null type instead.
2023-12-06install-cas cli: Remove remote execution properties and dispatch file...Paul Cristian Sarbu
...options from the generated help messages, as these are not used for the install-cas subcommand. This also updates the man page accordingly, where the dispatch file was marked as supported, as well as update any test affected by these changes.
2023-12-06just serve: make tc write strategy configurableKlaus Aehlig
2023-12-06Add CLI option to set write strategy for target-level cacheKlaus Aehlig
2023-12-05target-cache writing: support different strategiesKlaus Aehlig
2023-12-05just serve: Orchestrate remote build for uncached export targetsPaul Cristian Sarbu
2023-12-05FileRoot: Add ignore-special flag getter and remove unneeded inliningPaul Cristian Sarbu
2023-12-05serve target client: Ensure repository key blob is also in remote CASPaul Cristian Sarbu
2023-12-05just serve: Add configuration fields for remote buildsPaul Cristian Sarbu
2023-12-05serve target: Add missing gc lockPaul Cristian Sarbu
2023-12-05just main: Move useful results processing methods to own libraryPaul Cristian Sarbu
2023-12-05AnalyseTarget: Simplify method signaturePaul Cristian Sarbu
Similarly to the jobs common argument, we can simply only pass the needed single element from the analysis arguments struct. This will allow for a clearer understanding of what target analysis requires and reduce the overhead when reutilizing this method in just serve.
2023-12-05just main: Move root parser into static FileRoot method...Paul Cristian Sarbu
...to make it available also for setting up 'just serve' builds.
2023-12-05just main: Make capitalization in log messages consistentPaul Cristian Sarbu
2023-12-05executor: Move helper methods inside ExecutorImpl classPaul Cristian Sarbu
...with appropriate scope depending on where they are called from, to avoid unnecessary code duplication.
2023-12-04target.hpp: Fix double include statementPaul Cristian Sarbu
2023-12-04git_repo_remote: Fix wrong header include formatPaul Cristian Sarbu
2023-12-01just-mr archive: Report all tried remotes if fetch failsPaul Cristian Sarbu
2023-12-01just-mr git: Report all tried remotes if fetch failsPaul Cristian Sarbu
2023-12-01commit_git_map: Formatting fixPaul Cristian Sarbu
2023-11-30Resolve inconsistencies in third-party headers include formatPaul Cristian Sarbu
2023-11-30local API: Implement upload fileKlaus Aehlig
... overriding the default implementation. In this way, files can be added directly to the local CAS without having to completely reside in memory.
2023-11-30Splice blobs on diskKlaus Aehlig
When using blob splitting, we expect to create a potentially large file. Therefore reconstruct it from its parts on disk rather than keeping the whole file in memory.
2023-11-30remote API: support uploading files from the file systemKlaus Aehlig
Allow implementations to have a specialized way of uploading a file owned by the build process to the applicable cas, both as file, as well as as tree object (in native mode). If no implementation is provided, the default is to read the file into memory and use the Upload method.
2023-11-30Add files to CAS without fully keeping them in memoryKlaus Aehlig
2023-11-30hash_function: support hashing of filesKlaus Aehlig
Extend our internal hash-function abstraction to support hashing of files. In this way, we can provide a way to compute the hash of a potentially large file without having to fully read it to memory first, while still keeping the details of the used hash function abstracted away.
2023-11-30ObjectType: Add noexcept specifierPaul Cristian Sarbu
2023-11-30FileRoot: Fix content description for ignore-special rootsPaul Cristian Sarbu
Ignore-special git-tree-based roots are still content defined, so one should use the correct marker in the JSON description of the root that will be stored in the repository description of target cache keys. This commit fixes the issue and improves documentation.
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-11-24just: Fix wrong access to moved structPaul Cristian Sarbu
The traverser instantiation consumes the arguments.build struct, therefore one must not access that struct later in the code.
2023-11-22LocalAction: Fix staging of empty treesOliver Reiche
2023-11-22Implement blob splitting protocol on just client sideSascha Roloff
2023-11-22Implement blob splitting protocol on just server sideSascha Roloff
2023-11-21content_cas_map: Interrogate just serve endpoint also if doing pure fetchPaul Cristian Sarbu
Before trying to fetch an archive content from other non-local sources, check first the just serve endpoint.
2023-11-21just serve: Implement client-side ServeContent and extend serve APIPaul Cristian Sarbu
2023-11-21just serve: Implement server-side ServeContent RPCPaul Cristian Sarbu
2023-11-21just_serve.proto: define ServeContent RPCPaul Cristian Sarbu
2023-11-21archive repository: Query 'just serve' endpoint also when not marked absentPaul Cristian Sarbu
...before going to the network, if 'just serve' endpoint given. ContentCASMap was reworked to provide a cleaner logic for handling pure fetches, which also reduced code duplication in ContentGitMap.
2023-11-21git repository: Query 'just serve' endpoint also when not marked absentPaul Cristian Sarbu
...before going to the network, if 'just serve' endpoint given.
2023-11-21SourceTree service: Bump up server-side log levelsPaul Cristian Sarbu
Log levels on the server-side should reflect the meaning of the status codes in the response messages. As such, anything that leads directly to an error-type status code has been bumped up to log level Error, the rest to log level Info.