aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r--src/libstore/build.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index bacbd5808..f8cc1ce36 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -488,14 +488,18 @@ void handleDiffHook(
auto diffRes = runProgram(diffHookOptions);
if (!statusOk(diffRes.first))
- throw ExecError(diffRes.first, "diff-hook program '%1%' %2%", diffHook, statusToString(diffRes.first));
+ throw ExecError(diffRes.first,
+ "diff-hook program '%1%' %2%",
+ diffHook,
+ statusToString(diffRes.first));
if (diffRes.second != "")
printError(chomp(diffRes.second));
} catch (Error & error) {
- // logError(error.info())
- // TODO append message onto errorinfo...
- _printError("diff hook execution failed: %s", error.what());
+ ErrorInfo ei = error.info();
+ string prevhint = (error.info().hint.has_value() ? error.info().hint->str() : "");
+ ei.hint = std::optional(hintfmt("diff hook execution failed: %s", prevhint));
+ logError(ei);
}
}
}