Don't delete .check directories of running builds
We need to keep them around for diffoscope.
This commit is contained in:
parent
88ef77226e
commit
b30d1e7ada
2 changed files with 7 additions and 2 deletions
|
@ -2687,7 +2687,7 @@ void DerivationGoal::registerOutputs()
|
||||||
outputs to allow hard links between outputs. */
|
outputs to allow hard links between outputs. */
|
||||||
InodesSeen inodesSeen;
|
InodesSeen inodesSeen;
|
||||||
|
|
||||||
Path checkSuffix = "-check";
|
Path checkSuffix = ".check";
|
||||||
bool runDiffHook = settings.get("run-diff-hook", false);
|
bool runDiffHook = settings.get("run-diff-hook", false);
|
||||||
bool keepPreviousRound = settings.keepFailed || runDiffHook;
|
bool keepPreviousRound = settings.keepFailed || runDiffHook;
|
||||||
|
|
||||||
|
@ -2962,7 +2962,7 @@ void DerivationGoal::registerOutputs()
|
||||||
return;
|
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 the result was not determistic? */
|
||||||
if (curRound == nrRounds) {
|
if (curRound == nrRounds) {
|
||||||
for (auto & i : drv->outputs) {
|
for (auto & i : drv->outputs) {
|
||||||
|
|
|
@ -621,6 +621,11 @@ void LocalStore::tryToDelete(GCState & state, const Path & path)
|
||||||
/* Don't delete .chroot directories for derivations that are
|
/* Don't delete .chroot directories for derivations that are
|
||||||
currently being built. */
|
currently being built. */
|
||||||
if (isActiveTempFile(state, path, ".chroot")) return;
|
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;
|
PathSet visited;
|
||||||
|
|
Loading…
Reference in a new issue