* Change the abstract syntax of slices. It used to be that ids were used as
keys to reference slice elements, e.g.,
Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...])
This was wrong, since ids represent contents, not locations. Therefore we
now have:
Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...])
* Fix a bug in the computation of slice closures that could cause slice
elements to be duplicated.
This commit is contained in:
+1
-1
@@ -268,7 +268,7 @@ static Expr evalExpr2(EvalState & state, Expr e)
|
||||
elem.id = id;
|
||||
FState fs;
|
||||
fs.type = FState::fsSlice;
|
||||
fs.slice.roots.push_back(id);
|
||||
fs.slice.roots.push_back(dstPath);
|
||||
fs.slice.elems.push_back(elem);
|
||||
|
||||
Hash pkgHash = hashPackage(state, fs);
|
||||
|
||||
Reference in New Issue
Block a user