From 29a296143913d12ff6a5b8a10e5904cd2c58cc29 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Tue, 8 Apr 2025 11:35:24 +0200 Subject: Keep identifiers for actions, trees, and tree_overlays disjoint 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. --- src/buildtool/common/tree.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/buildtool/common/tree.hpp') diff --git a/src/buildtool/common/tree.hpp b/src/buildtool/common/tree.hpp index c861b264..bf81d848 100644 --- a/src/buildtool/common/tree.hpp +++ b/src/buildtool/common/tree.hpp @@ -22,6 +22,7 @@ #include #include +#include "fmt/core.h" #include "nlohmann/json.hpp" #include "src/buildtool/common/action.hpp" #include "src/buildtool/common/action_description.hpp" @@ -91,7 +92,9 @@ class Tree { // The type of HashFunction is irrelevant here. It is used for // identification of trees. SHA256 is used. HashFunction const hash_function{HashFunction::Type::PlainSHA256}; - return hash_function.PlainHashData(ComputeDescription(inputs).dump()) + return hash_function + .PlainHashData( + fmt::format("TREE:{}", ComputeDescription(inputs).dump())) .HexString(); } }; -- cgit v1.2.3