Merge pull request #6185 from hercules-ci/fetchTree-reuse-local-paths

fetchTree: Use isValidPath, add comment
This commit is contained in:
Eelco Dolstra 2022-03-01 13:15:42 +01:00 committed by GitHub
commit 0cb5af5000
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -237,13 +237,14 @@ static void fetch(EvalState & state, const Pos & pos, Value * * args, Value & v,
? state.store->makeFixedOutputPath(FileIngestionMethod::Recursive, *expectedHash, name, {})
: state.store->makeFixedOutputPath(FileIngestionMethod::Flat, *expectedHash, name, {});
auto validPaths = state.store->queryValidPaths({expectedPath}, NoSubstitute);
if (!validPaths.empty()) {
if (state.store->isValidPath(expectedPath)) {
state.allowAndSetStorePathString(expectedPath, v);
return;
}
}
// TODO: fetching may fail, yet the path may be substitutable.
// https://github.com/NixOS/nix/issues/4313
auto storePath =
unpack
? fetchers::downloadTarball(state.store, *url, name, (bool) expectedHash).first.storePath