about summary refs log tree commit diff
path: root/src/fix.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-08-20T12·39+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-08-20T12·39+0000
commit624c48260f1b4eec86daa0da5f33d4cbb963a361 (patch)
treebb0274a797cf79a65ad5bd23ed73a5483c2f5dc4 /src/fix.cc
parent710175e6a0f737f108e802d6b0c3de0af04e500c (diff)
* 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.

Diffstat (limited to 'src/fix.cc')
-rw-r--r--src/fix.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/fix.cc b/src/fix.cc
index ef35703342bf..83e25d142a19 100644
--- a/src/fix.cc
+++ b/src/fix.cc
@@ -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);