Don't delete .check directories of running builds

We need to keep them around for diffoscope.
This commit is contained in:
Eelco Dolstra 2016-12-08 21:38:58 +01:00
parent 88ef77226e
commit b30d1e7ada
No known key found for this signature in database
GPG Key ID: 8170B4726D7198DE
2 changed files with 7 additions and 2 deletions

View File

@ -2687,7 +2687,7 @@ void DerivationGoal::registerOutputs()
outputs to allow hard links between outputs. */
InodesSeen inodesSeen;
Path checkSuffix = "-check";
Path checkSuffix = ".check";
bool runDiffHook = settings.get("run-diff-hook", false);
bool keepPreviousRound = settings.keepFailed || runDiffHook;
@ -2962,7 +2962,7 @@ void DerivationGoal::registerOutputs()
return;
}
/* Remove the -check directories if we're done. FIXME: keep them
/* Remove the .check directories if we're done. FIXME: keep them
if the result was not determistic? */
if (curRound == nrRounds) {
for (auto & i : drv->outputs) {

View File

@ -621,6 +621,11 @@ void LocalStore::tryToDelete(GCState & state, const Path & path)
/* Don't delete .chroot directories for derivations that are
currently being built. */
if (isActiveTempFile(state, path, ".chroot")) return;
/* Don't delete .check directories for derivations that are
currently being built, because we may need to run
diff-hook. */
if (isActiveTempFile(state, path, ".check")) return;
}
PathSet visited;