mirror of
https://github.com/NixOS/nix.git
synced 2025-12-04 08:00:59 +01:00
* 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:
parent
710175e6a0
commit
624c48260f
4 changed files with 59 additions and 61 deletions
|
|
@ -16,14 +16,14 @@ struct SliceElem
|
|||
{
|
||||
string path;
|
||||
FSId id;
|
||||
FSIds refs;
|
||||
Strings refs;
|
||||
};
|
||||
|
||||
typedef list<SliceElem> SliceElems;
|
||||
|
||||
struct Slice
|
||||
{
|
||||
FSIds roots;
|
||||
Strings roots;
|
||||
SliceElems elems;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue