* 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:
Eelco Dolstra
2003-08-20 12:39:56 +00:00
parent 710175e6a0
commit 624c48260f
4 changed files with 59 additions and 61 deletions
+1 -1
View File
@@ -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);