mirror of
https://github.com/NixOS/nix.git
synced 2025-12-09 10:31:02 +01:00
fetchToStore() cache: Use content hashes instead of store paths
We can always compute the store path from the content hash, but not vice versa. Storing the content hash allows `hashPath()` to be replaced by `fetchToStore(...FetchMode::DryRun...)`, which gets us caching in lazy-trees mode.
This commit is contained in:
parent
b0aa12df25
commit
dc5e620032
6 changed files with 72 additions and 58 deletions
|
|
@ -84,8 +84,7 @@ StorePath EvalState::mountInput(
|
|||
if (store->isValidPath(storePath))
|
||||
_narHash = store->queryPathInfo(storePath)->narHash;
|
||||
else
|
||||
// FIXME: use fetchToStore to make it cache this
|
||||
_narHash = accessor->hashPath(CanonPath::root);
|
||||
_narHash = fetchToStore2(*store, accessor, FetchMode::DryRun, input.getName()).second;
|
||||
}
|
||||
return _narHash;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue