Age | Commit message (Collapse) | Author |
|
|
|
|
|
Also adds a section in the curl_url test suite.
|
|
|
|
|
|
|
|
|
|
Also extends 'distdir' repositories logic accordingly.
|
|
In order to allow non-fatal retries of fetches, be it from same
remote or not (e.g., mirrors), the handle now reports with a
caller-defined LogLevel.
|
|
|
|
|
|
|
|
|
|
In the specification of the action generating a fixed git tree,
also honor "inherit env", i.e., inherit the environment variables
specified in this field from the environment just-mr is invoked in.
As the expected output is fixed ahead of time anyway, this lack of
isolation does not affect correctness.
|
|
|
|
|
|
map itself
|
|
|
|
This is required in order to make them available to 'just serve'
in a minimal just installation.
|
|
This way they can be used by 'just serve'.
|
|
This avoids using the more geenric GitRepoRemote method which
has libcurl as a dependency, something that is not needed for this
Git operation.
|
|
|
|
...which signal either cient- or server-side failures.
This ensures we exit with a failed network fetch early in cases
where it is clear we won't receive useful data.
|
|
After successfully fetching data over the network for an archive,
if the optional checksums are not provided, the code will throw if
there is a mismatch between the hash of the fetched data stream
and the provided content hash.
This commit fixes the issue by adding an additional check which
properly handles the possible mismatch.
|
|
In order to not pollute builds, one should only store in the id
file the association between a commit and its *root* tree. As the
need for such a file only happens when asked to fetch absent
roots, which should be a quite rare use case, we can request the
whole tree of a commit to be served (incl. synced with remote
execution) and perform the subdir tree extraction locally instead.
|
|
|
|
|
|
Using absent repositories depends on a just-serve endpoint. As
such, it is not a datum of the project, but one of the available
infrastructure. As the latter can change independently of the
project, it is desriable to have the option to specify those pieces
of information in separate files.
|
|
... by also keeping the map of commit to tree locally.
|
|
The serve service will communicate with this endpoint when needed,
as well as ensure artifacts it provides are synced with the remote
execution CAS, if requested by the client.
If just-mr is given the --fetch-absent option, it Always produce
present roots irrespective of the 'absent' pragma. For Git repositories
marked with the 'absent' pragma, first try to fetch any commit
trees provided by the serve endpoint from the execution endpoint
CAS, before reverting to a network fetch.
Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com>
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
|
|
...via an 'absent' pragma in repository descriptions.
For 'git'-type repositories, first interrogates a 'just serve'
remote, if given, before reverting to fetching from the network.
|
|
|
|
The IsAvailable method with the correct signature is now called.
|
|
If a key has a map value, do not force all its subkeys to be
present.
Fixes changes brought in with supporting remote execution and
authentication options in just-mr.
|
|
|
|
...for archives not already in local CAS.
|
|
This better separates the utility methods used in just-mr commands
and avoids any cyclic dependencies that might arise in new utility
methods requiring both existing utilities and the command-line
arguments.
|
|
These have similar meanings as in 'just', are forwarded to 'just'
subcommands that support them, and can be set also in the RC file
via appropriate fields.
|
|
...by moving subcommands code into separate libraries.
This maintains a cleaner code structure and lowers the build time
by improving target caching.
|
|
|
|
Similarly to tarballs, an autodetection option for zip-like
archives is added to enable a unified handling of both traditional
zip and 7zip formats. Thus, for "zip" archives just-mr uses now
this autodetection option.
|
|
Also updates the archive usage tests accordingly.
|
|
These are provided by the recently added liblzma external dependency.
|
|
We shouldn't exclude the possibility of receiving uncompressed
tarballs as repositories in just-mr. Therefore, we introduce an
explicit type that performs the autodetection (default behaviour
in just-mr). This is done to also be more in line with our
implementation which allows the granular handling of various
archive types (currently used only for testing purposes).
|
|
|
|
|
|
|
|
|
|
|
|
For 'file' and 'archive' checkouts we will handle more than just
the 'ignore' value.
|