summaryrefslogtreecommitdiff
path: root/src/other_tools
AgeCommit message (Collapse)Author
2024-09-13Remove std::move of const value and avoid non-movable intermediate variablesKlaus Aehlig
2024-09-13Remove Compatibility flag from just-mrMaksim Denisov
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-12Prefer fseek ofer rewindKlaus Aehlig
2024-09-11Use ArtifactDigestFactory in just-mr mapsMaksim Denisov
...to create ArtifactDigests.
2024-09-11Store HashInfo in just-mr's GitTreeInfo as tree_hashMaksim Denisov
...and use it to create ArtifactDigests.
2024-09-11Store HashInfo in just-mr's ArchiveContent as content hashMaksim Denisov
...and use it to create ArtifactDigests.
2024-09-11Move just-mr's parsing of git trees to ParseGitTreeMaksim Denisov
...and use it in fetch and repos_to_setup_map to remove code duplication.
2024-09-11Move ParseArchiveContent function to the headerMaksim Denisov
...to remove code duplications in ReposToSetupMap.
2024-08-29just-mr maps: Properly check for missing values in map chainPaul Cristian Sarbu
The root async map in a chain of calls should always be checked for missing value, which can happen if, e.g., a cycle happens or a thread gets killed by the system. Properly handle this by checking explicitly if a value has been posted. If not, check for cycles where it makes sense (for example, in the resolving of symlinks), otherwise report any pending map keys not yet processed. This is done for all just-mr commands working with async maps.
2024-08-29just-mr maps: Add utility key-printing functionsPaul Cristian Sarbu
...to be used when reporting pending keys on failure to post value.
2024-08-29just-mr maps: Fix wrong or missing return conditionsPaul Cristian Sarbu
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-08-26GitRepo: Create commit from a directory explicitly...Paul Cristian Sarbu
...by writing its tree directly in the object database instead of working with the index. This allows the creation of trees that contain also entries with 'magic' names, such as the .git folder or .gitignore files. Callers must ensure the given directory only contains the needed entries. In particular, just-mr maps and serve service are updated to separate the import-to-Git repository path from the temporary path containing the content to be committed, to avoid polluting the content path with entries generated on repository initialization.
2024-08-26GitOps: Pass source directory to GitInitialCommit operationPaul Cristian Sarbu
While there, ensure optional Git operation parameters are checked before use for the operations that require them.
2024-08-26GitRepo: Change logic that creates commits to explicitly give directoryPaul Cristian Sarbu
In preparation for subsequent changes, specify the directory path containing the tree content to be committed explicitly. This change will allow eventually to be able to specify paths that are different from the root path of the repository in which the commit is created. This commit renames and refactors StageAndCommitAllAnnonymous to allow a directory path to be passed. The just-mr and serve service logic is updated such that current behaviour is otherwise unchanged.
2024-08-26GitOpParams: Remove unneeded branch fieldPaul Cristian Sarbu
The 'branch' field is deprecated, not being used by any of the critical Git operations, thus it can be removed.
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or
2024-08-05When using errno, log the actual error messagePaul Cristian Sarbu
For the user it is more useful to see the actual error message, provided by strerror(), than the pure error code.
2024-08-05Add missing cerrno includesPaul Cristian Sarbu
2024-07-30ApiBundle: Use a creator method instead of constructorPaul Cristian Sarbu
This will allow for ApiBundle to be used together with the TestApi implementation of IExecutionApi in tests. Also rename CreateRemote method to MakeRemote in order to remove any semantical confusion.
2024-07-30Pass LocalContext and RemoteContext to ServeApiPaul Cristian Sarbu
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle.
2024-07-30Pass RemoteContext to ApiBundlePaul Cristian Sarbu
The CreateRemote method is also updated to receive all remote-related information as arguments, such that it does not have to rely on the ApiBundle internal fields which will eventually be removed.
2024-07-30Pass LocalContext to ApiBundlePaul Cristian Sarbu
2024-07-29commit_git_map: fix line breaking in error messagesKlaus Aehlig
2024-07-24Tree fetching: first look in older generationsKlaus Aehlig
2024-07-23content_cas_map: also look in older git generationsKlaus Aehlig
2024-07-23git_commit_map: avoid duplicate creation and fix usageKlaus Aehlig
... as CheckCommitExists returns an optional bool, not a plain one.
2024-07-23just-mr: Remove progress and statistics singletonsPaul Cristian Sarbu
...and instead use simple instances created in setup, fetch, and update, respectively. The various maps and the progress reporter get access to these instances via not_null pointers.
2024-07-23just-mr: Pass statistics instance in repos-to-setup mapPaul Cristian Sarbu
...instead of using the singleton.
2024-07-23just-mr: Use statistics and progress instances update mapPaul Cristian Sarbu
...instead of using the singletons.
2024-07-23just-mr: Use statistics instance in fetch mapPaul Cristian Sarbu
...instead of using the singleton.
2024-07-23just-mr: Use progress instance in setup mapsPaul Cristian Sarbu
...instead of using the singleton.
2024-07-23just-mr: Pass progress and statistics instances to reporterPaul Cristian Sarbu
2024-07-22Rename HashFunction methods and enumsMaksim Denisov
2024-07-22Create Hasher using a static functionMaksim Denisov
2024-07-22Store HashFunction in StorageConfigMaksim Denisov
2024-07-22Use a fixed HashFunction in ReposToSetupMapMaksim Denisov
2024-07-22Use HashFunction functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-22import-to-git: fix typo in format stringKlaus Aehlig
2024-07-19For archives, also look in older repo generations before fetchingKlaus Aehlig
2024-07-19commit_git_map: take commit from older generations, if found thereKlaus Aehlig
If we're asked to fetch a commit that is not present in our git root right away, first look for it in older generations before starting the actual fetch.
2024-07-19just-mr: add subcommand gc-repoKlaus Aehlig
2024-07-19Take shared repo-gc lock wherever neededKlaus Aehlig
2024-07-19git opertions: return tag for keep operationsKlaus Aehlig
2024-07-19Remove the RetryConfig singletonPaul Cristian Sarbu
...and replace it with instances created early via a builder pattern.
2024-07-19Pass RetryConfig instance to ApiBundlePaul Cristian Sarbu
Also store a const ref for usage in setting up a fresh ApiBundle during target serve.
2024-07-18just-mr: Fix wrong exit code for --help callPaul Cristian Sarbu
Due to the specifics of how CLI11 library handles the --help argument and the fact that just-mr uses its own set of exit codes, we were correctly printing the help text, but falsely returning a non-zero exit code as result. This is now fixed.
2024-07-16Remove the RemoteExecutionConfig singletonPaul Cristian Sarbu
...and replace it with passed instances created early via a builder pattern. Tests are also updated accordingly.
2024-07-16Pass RemoteExecutionConfig instance to ApiBundlePaul Cristian Sarbu
...and store it as a const ref for subsequent use wherever the apis are already passed.