When repairing a derivation, check and repair the entire output closure
If we find a corrupted path in the output closure, we rebuild the derivation that produced that particular path.
This commit is contained in:
parent
2001895f3d
commit
a3f205b249
3 changed files with 91 additions and 6 deletions
|
|
@ -206,6 +206,8 @@ public:
|
|||
contents. */
|
||||
bool pathContentsGood(const Path & path);
|
||||
|
||||
void markContentsGood(const Path & path);
|
||||
|
||||
private:
|
||||
|
||||
Path schemaPath;
|
||||
|
|
@ -233,6 +235,9 @@ private:
|
|||
SQLiteStmt stmtQueryDerivationOutputs;
|
||||
SQLiteStmt stmtQueryPathFromHashPart;
|
||||
|
||||
/* Cache for pathContentsGood(). */
|
||||
std::map<Path, bool> pathContentsGoodCache;
|
||||
|
||||
int getSchema();
|
||||
|
||||
void openDB(bool create);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue