Age | Commit message (Collapse) | Author |
|
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.
|
|
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>
|
|
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
|
|
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
tracing
|
|
|
|
|
|
|
|
...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.
|
|
...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.
|
|
...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.
|
|
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.
|
|
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.
|
|
...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.
|
|
This also removes the need to call the GET_BRANCH_REFNAME critical
operation.
|
|
|
|
|
|
|
|
|
|
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.
|
|
The absent value for an optional string is std::nullopt, not
the empty string.
|
|
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.
|
|
... in error message reporting the lack of present distdirs.
|
|
|
|
|
|
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.
|
|
The subdir is required alongside the commit hash for a valid map
key when importing a Git repository into our Git cache.
|
|
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.
|
|
Use intermediary unordered sets to store the repos to_setup and to_include
to avoid unnecessary duplicates. It is purely a performance benefit.
|
|
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.
|
|
... to show the argument vector properly serialized as json.
In this way, the vector can be read unambigiously even if
arguments contain white space.
|
|
|
|
|
|
|
|
|
|
|
|
Contains the logic for the checkout of all supported repositories.
|
|
Uses libarchive to unarchive the archives from CAS.
|
|
|
|
Calls libcurl to fetch the archives from the internet.
|
|
|
|
|