Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
... instead of only the file name. Having the full path into the
tree makes it more easy for the user to understand the root cause
of a conflict.
|
|
... as that failure does not necessarily abort the build.
|
|
Those operations require fetching objects through the network. The
fetch is already restricted to only the tree-objects where a merge
is necessary, leaving out unchanged trees as well as all blobs.
Still, some time may be required, especially over slow networks.
Therefore report this activity in the progress.
|
|
properly
|
|
Now that we generate tree-overlay action identifiers that are disjoint
from identifiers of regular actions, having a joint origin map
does not cause any confusion. Concerning the numbering of subtasks,
we always see tree-overlay actions following the regular actions,
even if defined in a different order. In this way, the identifiers
for the regular actions don't change. Including tree-overlay
actions in the origin map also has the advantage that the origin
is properly reported in case of failure (e.g., non-disjointness of
the obtained trees).
|
|
While our traverser correctly keeps separate identifier spaces for
those entities, having disjoint identifiers allows easier reading
of log messages and more simple reporting of origins of actions.
|
|
... and verify that
- spurious conflicts do not cause failure but instead are handled
correctly, and
- real conflicts are detected and reported properly.
|
|
... calling them as such, and not trying to report command and
environment.
|
|
- break lines at logicial point, following the layout of our other
error messages
- fix a typo
- properly quote the path of the conflict
|
|
Similarly to other third-party binaries, we should not care if they
are built in release or debug mode and as such we explicitly clear
the DEBUG flag.
|
|
Similarly to the proto compiler, this target is a third-party
binary and as such we do not care if it is built in release or
debug mode, so always clear the DEBUG flag.
|
|
As we only care about the result of proto targets, we do not care
if the proto compiler is built in release or debug mode, so always
clear the DEBUG flag for this binary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Document the conservative extension of our graph-file format due
to the addition of tree overlays.
|
|
In order to stay backwards compatible, the "tree_overlays" entry
in action-graph descriptions is optional.
|
|
|
|
|
|
... that, like trees, are given by their identifier.
|
|
- For the rule functions TREE_OVERLAY and DISJOINT_TREE_OVERLAY
call the argument "$1", to align with the argument name for
BLOB and TREE.
- For the built-in functions `"tree_overlay"` and `"disjoint_tree_overlay"`,
align this the built-in function `"tree"` and allow staging of
the resulting tree.
|
|
|
|
... and only as late as possible wait for that parallel task.
Serializing a large task to JSON can take several seconds and as
building does not depend on it, we shouldn't delay the build for
with extra information.
|
|
... to avoid duplicate log entries.
|
|
... instead of blindly logging globally.
|
|
|
|
The built-in rule "tree" does not support the field "data". Hence
remove it from the list of white-listed fields so that an appropriate
warning is issued if it occurs for that rule.
|
|
|
|
The public interface of our graph traverser is typically called
once per program invocation, so there is no benefit in optimizing
across the boundaries of that call. Many calls do happen within the
internal functions of the graph traverser; but for that, the benefit
of being in the same compilation unit also happens if everything
is moved to the same cpp file. Therefore, make the graph traverser
a standard library and in this way, clean up our code basis.
|
|
Expression language has new built-ins 'zip_with', 'zip_map'.
|
|
|
|
|
|
Produces the mapping between correspondingly indexed entries of two
lists, one containing the keys and the other of values. The keys
list must have string entries. If the two input lists are of
different sizes, the extra elements are ignored.
|
|
|
|
Produces the list containing the results of evaluating the body on
the corresponding elementwise pairs from the two input lists. If
the input lists are of different sizes, the extra elements are
ignored.
|
|
|
|
to avoid downloading the same blobs.
|
|
...to avoid downloading the same blobs.
|