diff options
-rw-r--r-- | src/libstore/store.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/store.cc b/src/libstore/store.cc index 0ac9473bc5b4..03855408ed4d 100644 --- a/src/libstore/store.cc +++ b/src/libstore/store.cc @@ -282,7 +282,8 @@ static PathSet getReferers(const Transaction & txn, const Path & storePath) void setReferences(const Transaction & txn, const Path & storePath, const PathSet & references) { - if (!isRealisablePath(txn, storePath)) + /* For unrealisable paths, we can only clear the references. */ + if (references.size() > 0 && !isRealisablePath(txn, storePath)) throw Error( format("cannot set references for path `%1%' which is invalid and has no substitutes") % storePath); |