summaryrefslogtreecommitdiff
path: root/src/other_tools
AgeCommit message (Collapse)Author
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-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-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-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-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-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-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.