summaryrefslogtreecommitdiff
path: root/src/other_tools
AgeCommit message (Collapse)Author
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-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-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.
2023-02-22just-mr/cli.hpp: remove unused constantKlaus Aehlig
2023-02-22cleanup: Fix typos in code line comments and logging messagesPaul Cristian Sarbu
2023-02-20Print libcurl debug output in just-mr only in case of an error or in case of ↵Sascha Roloff
tracing
2023-02-20Add logging command-line arguments to just-mrSascha Roloff
2023-02-20Style fixes in just-mrSascha Roloff
2023-02-20Forward --local-build-root argument from just-mr to just only if setSascha Roloff
2023-02-17structure cleanup: move remote operations of GitRepo to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. The new class extends the GitRepo class used for just's Git tree operations and gets used in all of just-mr's async maps.
2023-02-17structure cleanup: move libcurl utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-17structure cleanup: move libarchive utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-15Fix wrong assembly of just args in just-mrSascha Roloff
The actual error fixed in this commit was the usage of the std::vector resize method instead of the reserve method. The resize method increases the size of the vector by appending new default-allocated elements (empty strings in this case), whereas the reserve method just increases the underlying capacity of the vector without appending elements. In addition to this fix, the remaining just-args assembly code was refactored to drop the lambda-function usage in favor of a plain sequence of statements.
2023-01-24Just-MR: Remove obsolete GET_BRANCH_REFNAME critical Git operationPaul Cristian Sarbu
As now all remote Git operations in GitRepo require at most just the branch name, there is no more need to inquire the repository about branch refspecs.
2023-01-24GitRepo: Remove refspec argument in retrieving commit from remote...Paul Cristian Sarbu
...and use instead the branch name. A valid direct refspec (as those retrieved by a remote_ls call) will always end in the branch name, so checking the last path component ('/'-delimited substring) of a retrieved refspec is enough.
2023-01-24GitRepo: Change FetchFromRemote to fetch based on branch namePaul Cristian Sarbu
This also removes the need to call the GET_BRANCH_REFNAME critical operation.
2023-01-24commit_git_map: Clean up passed arguments in EnsureCommitPaul Cristian Sarbu
2023-01-20Add gc subcommandSascha Roloff
2023-01-20Move file_storage.hpp to file_system subdirectorySascha Roloff
2023-01-19Minor fixes for compiling with clang-14Oliver Reiche
2023-01-16just-mr fetch: fix overwriting distfilesKlaus Aehlig
Both, the python script as well as the compiled variant of just-mr fetch try to overwrite already existing distfiles in the distdir. While it is unclear if overwriting existing distfiles or not copying to distdir if a file with that name already exists is the better behaviour, we at least should not error out, as the compiled just-mr currently does as it sets permission to 444 and hence cannot overwrite later; fix this by addwing owner write permissions before overwriting.
2023-01-16just-mr fetch: fix internal archive descriptionKlaus Aehlig
The absent value for an optional string is std::nullopt, not the empty string.
2023-01-16just-mr fetch: drop redundant directory creationKlaus Aehlig
just-mr fetch is supposed to fetch to the first (in search order) distdir that is an existing directory (and error out if no such directory exists). So, once a directory is found, there is no need to create it---we already verified it is an existing directory.
2023-01-16just-mr: fix quotingKlaus Aehlig
... in error message reporting the lack of present distdirs.
2023-01-16fpath_git_map: Fix wrong log messagePaul Cristian Sarbu
2023-01-10repos_to_setup_map: Remove unnecessary logger capture in lambda callsPaul Cristian Sarbu
2023-01-10Just-MR: Fix distdir computation in internal just-mrPaul Cristian Sarbu
This provides the fix already performed for the just-mr script in the internal just-mr as well. In short, this fix makes sure that the computation of the content key for distdir repositories is independent of the presence of the respective archives in CAS.
2022-12-23Just-MR: Fix wrong commit_git_map keyPaul Cristian Sarbu
The subdir is required alongside the commit hash for a valid map key when importing a Git repository into our Git cache.
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-23Just-MR: Fix bloated reachable reposPaul Cristian Sarbu
Use intermediary unordered sets to store the repos to_setup and to_include to avoid unnecessary duplicates. It is purely a performance benefit.
2022-12-23Just-MR: Fix mrrc config handlingPaul Cristian Sarbu
The parser was exiting early when the user gave no rc file, before having the chance to look for the config file in the default locations.
2022-12-23just-mr: fix exec log messageKlaus Aehlig
... to show the argument vector properly serialized as json. In this way, the vector can be read unambigiously even if arguments contain white space.
2022-12-21Just-MR: Add main logic for just calls sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for setup and setup-env sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for update sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for fetch sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main with CL args handlingPaul Cristian Sarbu
2022-12-21Just-MR: Add repos-to-setup mapPaul Cristian Sarbu
Contains the logic for the checkout of all supported repositories.
2022-12-21Just-MR: Add archive content to WS root git mapPaul Cristian Sarbu
Uses libarchive to unarchive the archives from CAS.
2022-12-21Just-MR: Add archive fetch mapPaul Cristian Sarbu
2022-12-21Just-MR: Add archive content-in-CAS mapPaul Cristian Sarbu
Calls libcurl to fetch the archives from the internet.
2022-12-21Just-MR: Add file path to WS root git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add commit to WS root git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add git commit update mapPaul Cristian Sarbu
2022-12-21Just-MR: Add distdir to WS root git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add import-to-git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add utilities library for just-mrPaul Cristian Sarbu
2022-12-21Just-MR: Add critical git op mapPaul Cristian Sarbu