mirror of
https://github.com/NixOS/nix
synced 2025-06-25 10:41:16 +02:00
Merge branch 'path-info' into ca-drv-exotic
This commit is contained in:
commit
81727f85cb
17 changed files with 153 additions and 119 deletions
|
@ -1532,7 +1532,8 @@ static void prim_readFile(EvalState & state, const PosIdx pos, Value * * args, V
|
|||
StorePathSet refs;
|
||||
if (state.store->isInStore(path)) {
|
||||
try {
|
||||
refs = state.store->queryPathInfo(state.store->toStorePath(path).first)->references;
|
||||
// FIXME: Are self references becoming non-self references OK?
|
||||
refs = state.store->queryPathInfo(state.store->toStorePath(path).first)->referencesPossiblyToSelf();
|
||||
} catch (Error &) { // FIXME: should be InvalidPathError
|
||||
}
|
||||
// Re-scan references to filter down to just the ones that actually occur in the file.
|
||||
|
@ -1968,7 +1969,7 @@ static void addPath(
|
|||
try {
|
||||
auto [storePath, subPath] = state.store->toStorePath(path);
|
||||
// FIXME: we should scanForReferences on the path before adding it
|
||||
refs = state.store->queryPathInfo(storePath)->references;
|
||||
refs = state.store->queryPathInfo(storePath)->referencesPossiblyToSelf();
|
||||
path = state.store->toRealPath(storePath) + subPath;
|
||||
} catch (Error &) { // FIXME: should be InvalidPathError
|
||||
}
|
||||
|
@ -2007,7 +2008,7 @@ static void addPath(
|
|||
.method = method,
|
||||
.hash = *expectedHash,
|
||||
},
|
||||
{},
|
||||
.references = {},
|
||||
});
|
||||
|
||||
if (!expectedHash || !state.store->isValidPath(*expectedStorePath)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue