Age | Commit message (Collapse) | Author |
|
|
|
Remove wrong (un-needed) design specifications. When we compute the
TargetCacheKey of an export target, there is no need to check if any
of (recursively) referenced trees is absent. As soon as we deal with
an "absent target" we query just serve. If it is not able to provide
the target cache value, we error out.
|
|
The function ToJson used `file_type` key to express the type of the
artifact, on the other hand, FromJson was expecting `type`.
This patch makes the two functions consistent, prefering `file_type`
for historical reasons.
|
|
|
|
This test was only working by accident, as the missing target
specification ["", "sources.txt"] was making the build fail,
not the (supposedly) unset variable. Fix this by looking only at
the setup command and expect failure there---and also unset the
correct variable.
|
|
Also extended absent-roots test with this scenario.
|
|
|
|
This function is mainly used to check that the hash of a Digest
received over the wire is a real hash, to prevent a malicious attack.
|
|
... clarifying the effect of the target-cache-key change. In
particular, explain that, as the cache-key format has changed
in a non-overlapping way, no care has to be taken on update, but
old target-cache entries will not be used by the newer version
of the tool.
While there, fix some typos and properly break lines.
|
|
... which was accidentially a list of (a single) object,
instead of only a single JSON object.
|
|
...to avoid waiting for the test timeout on an internal error.
|
|
...and reword content to move from proposal to implemented state.
|
|
|
|
|
|
This allows to specify upfront alternative locations from where the
imported repository may be fetched. No action is taken in the
import, instead the argument gets passed intot he resulting just-mr
configuration.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
While we don't want to fail if the 'checkouts' map values are not
strings, we shouldn't just accept non-string values either,
instead we should warn the user and continue without them.
|
|
|
|
This improves clarity while maintaining specificity of the JSON
file entries. Also fixes the typo in the design document name.
|
|
|
|
Make sure that all CopyFile, WriteFile, and CreateSymlink
functions properly unlink the target file (if it exists and
overwrite requested) to avoid interferences of the install
command. With this change, the clean up step for install-cas
and the within GraphTraverser can new be omitted.
|
|
... ensuring that just-mr passes on the specified environment
variables (and only those) to the tree-generating action.
|
|
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.
|
|
... instead of assuming it to be installed under /usr/bin as we
also do in other places. In this way, we do not make any additional
assumptions on top of the already existing one on the path of env.
|
|
... using thread-based parallelism for the blobs of each tree.
|
|
Use parallelism if provided by the build API when synchronizing
artifacts of export targets and when synchronizing artifacts due
to the --remember option. Do so at build parallelism as this the
parallelism suitable for the build API.
|
|
Allow implementations to use a given number of threads to carry out
the synchronisation. In this way parallelism can be achieved even
in situations where batch reading degrades as objects of unknown
size have to be fetched; this situation typically occurs if a tree
object has a large number of direct children that are blobs.
If no implementation is provided, the default implementation is to
fall back to the normal (sequential) CAS synchronisation.
|
|
Typically, the number of export targets is small compared to the
size of the respective export targets. Moreover, export targets are
often chained, resulting in overlapping artifacts that we want to
fetch only once. Therefore, fetch export targets sequentially, giving
room to introduce parallelism in the individual fetch steps later.
While there, also log the beginning of the artifact synchronisation
for the export targets.
|
|
|
|
|
|
|
|
|
|
Includes check to ensure we do not cache subtrees unnecessarily.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
|
|
map itself
|
|
|
|
|