Display the diverging paths in case of a realisation mismatch
This commit is contained in:
parent
40f925b2da
commit
16fb7d8d95
|
@ -65,9 +65,14 @@ void DrvOutputSubstitutionGoal::tryNext()
|
||||||
if (auto localOutputInfo = worker.store.queryRealisation(depId);
|
if (auto localOutputInfo = worker.store.queryRealisation(depId);
|
||||||
localOutputInfo && localOutputInfo->outPath != depPath) {
|
localOutputInfo && localOutputInfo->outPath != depPath) {
|
||||||
warn(
|
warn(
|
||||||
"substituter '%s' has an incompatible realisation for '%s', ignoring",
|
"substituter '%s' has an incompatible realisation for '%s', ignoring.\n"
|
||||||
|
"Local: %s\n"
|
||||||
|
"Remote: %s",
|
||||||
sub->getUri(),
|
sub->getUri(),
|
||||||
depId.to_string());
|
depId.to_string(),
|
||||||
|
worker.store.printStorePath(localOutputInfo->outPath),
|
||||||
|
worker.store.printStorePath(depPath)
|
||||||
|
);
|
||||||
tryNext();
|
tryNext();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -732,8 +732,13 @@ void LocalStore::registerDrvOutput(const Realisation & info)
|
||||||
.exec();
|
.exec();
|
||||||
} else {
|
} else {
|
||||||
throw Error("Trying to register a realisation of '%s', but we already "
|
throw Error("Trying to register a realisation of '%s', but we already "
|
||||||
"have another one locally",
|
"have another one locally.\n"
|
||||||
info.id.to_string());
|
"Local: %s\n"
|
||||||
|
"Remote: %s",
|
||||||
|
info.id.to_string(),
|
||||||
|
printStorePath(oldR->outPath),
|
||||||
|
printStorePath(info.outPath)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
state->stmts->RegisterRealisedOutput.use()
|
state->stmts->RegisterRealisedOutput.use()
|
||||||
|
|
Loading…
Reference in a new issue