Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
When converting a directory to git, just-mr.py shells out to git
to to the actual conversion. However, not in all cases git waits
for its children, in particular when deciding to implicitly run
git-gc ("Auto packing the repository in background for optimum
performance.") This causes problems, as we assume that after git
finishes we safely can remove the temporary directory from which
we pulled; however, the shutils.rmtree function we call for this
assumes the directory to be removed not to be changed by other
processes---like git removing the file gc.pid. Work around this,
by retrying the removal of no longer needed temporary directories.
|
|
... to the same limit as the values occuring in the stack.
|
|
|
|
... in error messages. The outer structure is usually more important
than the the details of the first element.
|
|
To an intended number of characters by leaving out the parts
after a given depth. As the correct depths has to be determined,
the JSON value is serialized several times; hence the method is
slow, but acceptable for the generation of error messages.
|
|
|
|
Before this patch, the built-in "generic" type allowed for just output
files, listed in the field "outs". Now, the type also supports output
directories, listed in the "out_dirs" field. The output directories
are created before the command is executed.
|
|
|
|
|
|
|
|
|
|
|
|
... which, if defined, is appended to the suffix string. In this way,
versions can be forked, e.g., if non-upstream changes are included.
|
|
To also allow identifying snapshot versions in a meaningful way,
we support embedding SOURCE_DATE_EPOCH which ought to be set to
the commit time of the commit used.
|
|
|
|
In that way, we are consistent with all other values in that there
is a way to positively state that the default value should be taken.
While there, fix a wrong error message.
|
|
|
|
add details for the --action-timeout and -f,--log-file command line
options
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In this way, we follow our own standard practices of exporting
targets to be used by other repositories. While for a couple of
proto files, there shouldn't be a difference in performance, it is
still good to have the interfaces cleaned up and documented.
|
|
|
|
So far, our serialisation and deserialisation assumed that no
node or result values are included contained in the given value.
However, for nodes (and hence ressults, given our implementation of
value nodes) there is a legitimate use case. An abstract interface
specification, given by provided nodes, can well be a meaningful
target to be exported. Implement serialisation for those values.
Also, avoid tree-unfolding the value when deserialising the value
by appropriately caching the corresponding expression pointers.
Moreover, avoid the quadratic overhead through linearly searching
through the list of artifacts.
|
|
In this way, we keep the repsitory description more close to a normal
multi-repository configuration. The only difference remaining is
the absence of repository locations for git-tree roots.
|
|
|
|
In our semantics, it was always intended that names are completely
opaque and only used by passing them to functions providing
information about a target. However, we never enforced that they not
be compared for equality, even though we always had this in mind,
and the computation of the target-level cache key was designed with
this semantics in mind. Enforce this restriction now.
|
|
|
|
|
|
... by renaming HashGenerator to (incremental) Hasher and
dropping support for Git/MD5 hashes. The Hasher does not
expose the actual hash implementation.
|
|
|
|
|
|
|
|
While we assume the reader already knows what proto buffers are,
the tutorial introduces the concept of anonymous targets.
|
|
commit fd58a5eb429d4a9db51f73c06137f1a4ebe41c08 introduced a bug. If
the main workspace root is a git repo, it will be overwritten by a
std::optional<std::filesystem::path> storing std::nullopt. This patch
fixes this wrong behaviour.
|