summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-03-13TargetCache: Drop dependency on repository configOliver Reiche
2023-03-13Artifact: No user error on object info parse failOliver Reiche
2023-03-13just-mr: remove unnecessary double quotesKlaus T. Aehlig
... on reporting the exec command; json encoding is already quoting enough.
2023-03-10Update nlohmann::json to 3.11.2Klaus Aehlig
2023-03-10just-mr: do not unnecessarily forward log-limitKlaus Aehlig
The forwarding of the log-limit argument is only useful, if the value is different from the default.
2023-03-10just-mr: fix launcher forwardingKlaus Aehlig
A local launcher should be forwarded, if it is different to the default launcher (which is ["env", "--"]); in particular, an explictly empy launcher should be forwarded.
2023-03-10Move common defaults for just and just-mr into a separate libraryKlaus Aehlig
... and, in this way, avoid duplication of these constants that might lead to inconsistencies between those two tools later.
2023-03-10bytestream server: bugfix: if a tree is requested, look for it *only*Alberto Sartori
in the tree CAS. Before this patch, after the checking in the tree cas, also the blob cas was checked leading to a NOT-FOUND error.
2023-03-10execution service: implement WaitExecution and ↵Alberto Sartori
google::longrunning::Operations::GetOperation For each action that is executed, an entry is added to a shared thread safe cache. Once the number of operations stored exceeds twice 2^n, where n is given by the option --log-operations-threshold, at most 2^n operations will be removed, in a FIFO scheme.
2023-03-09Just-MR: Improve logging messagesPaul Cristian Sarbu
... by reporting unsupported config values explicitly and fixing inconsistencies.
2023-03-08Just-MR: Add logic for SSL verification during archive fetchPaul Cristian Sarbu
2023-03-08Just-MR: Add command line options for SSL verification during archive fetchPaul Cristian Sarbu
2023-03-08curl_easy_handle: Add logic for handling user SSL settingsPaul Cristian Sarbu
2023-03-08just-mr: fix options mismatchesPaul Cristian Sarbu
... both with respect to just options and the man page specifications. Option -L of just-mr was reassigned as a short name for --local-launcher, matching its use in just. Its place is now correctly held by the full name option --checkout-locations, as per the section-1 man page.
2023-03-08Just-MR: Add logic for git tree repository type setupPaul Cristian Sarbu
2023-03-08Just-MR: Add tree id root mapPaul Cristian Sarbu
Map for a workspace root given as a known git tree id which is promised to be obtainable by executing a specified command.
2023-03-08GitRepo: Add method to check existence of a Git treePaul Cristian Sarbu
2023-03-07Just-mr: Add --local-launcher optionPaul Cristian Sarbu
Also update just-mr section-1 man page
2023-03-07just-mr utils: Be more verbose in just subcommand flags mappingPaul Cristian Sarbu
Make clear what fields the defined boolean values refer to.
2023-03-07Git: Move 'fake' repository log messages to more appropriate reporting levelPaul Cristian Sarbu
2023-03-06Execution server: Fix OutputDirectory generation in compatible modeSascha Roloff
2023-03-06Progress reporting: Adjust just-mr maps statistics countingPaul Cristian Sarbu
Reporting and counting should be done as early as possible, once known that there is nothing cached.
2023-03-06CommitGitMap: Move helper function out of header filePaul Cristian Sarbu
2023-03-06ImportToGitMap: Move helper function out of header filePaul Cristian Sarbu
2023-03-06GitRepo: Add missing retval check for git oid libgit2 callsPaul Cristian Sarbu
2023-03-06Targets: Fix minor deps structure issuePaul Cristian Sarbu
2023-03-03GitRepoRemote: Correctly honor proxy settings in fetch and commit updatePaul Cristian Sarbu
2023-03-03Git: Add utility method for retrieving proxy information for libgit2 callsPaul Cristian Sarbu
2023-03-03GitRepoRemote: Correctly honor SSL certification settings in fetch and ↵Paul Cristian Sarbu
commit update Uses the SSL certification utility method to correctly set the certification check options for the remote URL libgit2 calls. Due to the fact that remote operations are done via a temporary repository to allow concurrent work, the correct repository configuration needs to be interrogated. Thankfully, libgit2 provides a thread safe config snapshot object to be used in such scenarios. Also updates the existing GitRepoRemote tests accordingly.
2023-03-03Git: Add utility method for honoring SSL certification settings in libgit2 callsPaul Cristian Sarbu
Due to the fact that the libgit2 library handles envariables and gitconfig entries differently than git, we need to perform these checks ourselves in order to be fully compliant with git. This utility method returns the correct callback tat enables or disables the SSL certificate verification step when interacting with a remote URL via libgit2 calls.
2023-03-03GitRepoRemote: Add getter for config snapshotPaul Cristian Sarbu
2023-03-03utils: Add utility class for handling URLsPaul Cristian Sarbu
It uses libcurl to parse URLs. The current version contains methods needed for correctly handling the matching gitconfig entries and the no_proxy-type envariable patterns.
2023-03-02just-mr: change wording in info messageKlaus T. Aehlig
When asked to setup, report the number of repositories as repositories to "set up", not to "check out". Typically, we're not creating a checkout of that repository in the sense that some directory would contain the file strucutre of that repository in the file system. Typically, fetch into our big git repo, or create an artifical commit there to keep the resulting git tree there.
2023-03-02just: make -D options overlayKlaus Aehlig
... instead of only honoring the latest argument. In this way, standard overlays coming from the launcher configuration can be amended in individual invocations.
2023-02-28just execute: indicate the mode started inKlaus Aehlig
2023-02-28execution service: BatchUpdateBlobs check consitency of requested digestsAlberto Sartori
2023-02-28expression map: improve error messageKlaus Aehlig
... by providing the fully-qualified name of an expression that could not be found.
2023-02-28Various typo fixesPaul Cristian Sarbu
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
2023-02-27Just-MR: Add progress reporting for setup commandPaul Cristian Sarbu
This includes also the setup-env command, as well as all ~just~ known subcommands that require a just-mr setup step. Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
2023-02-27Just-MR: Add progress reporting for fetch commandPaul Cristian Sarbu
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
2023-02-27Just-MR: Add progress reporting for update commandPaul Cristian Sarbu
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
2023-02-27Just-MR: Extend ops and root maps keys with fields needed in progress reportingPaul Cristian Sarbu
In order to only report actual work, the name of the repository for which work is actually done needs to be known to certain AsyncMaps used by just-mr. Also, fetches not originating in a distdir repo checkout need to be counted additionally, so an additional flag was needed for the content_cas_map.
2023-02-27Just-MR: Whitespace fixesSascha Roloff
2023-02-27Progress reporting: Add progress reporter classes for just-mrSascha Roloff
2023-02-27Progress reporting: Add statistics class for just-mrPaul Cristian Sarbu
2023-02-27Progress reporting: Extract generic logic from just base progress reporter classSascha Roloff
2023-02-27Progress reporting: Extract generic logic from just progress classSascha Roloff
2023-02-27Logging: Add --log-append clarg to just-mr and enable log forwarding to justPaul Cristian Sarbu
When calling just from just-mr, all logging arguments are forwarded as early arguments. If any log files are provided, an unconditional --log-append is also prepended to ensure the contents of the log files are not overwritten.
2023-02-27Logging: Add --log-append clarg to justPaul Cristian Sarbu
2023-02-23Add a version command for just-mr itselfKlaus Aehlig
Both, just and the launcher just-mr are developped and released together and hence share version numbers. Nevertheless, the tools are used independently. In fact, just-mr has an option to specify the just binary to be used. Hence it is useful that each tool is aware of its own version number. As a launcher, just-mr is supposed to forward all subcommands known to just, hence the just-mr command to show the version information cannot be called "version"; we use "mrversion" instead.