mirror of
https://github.com/NixOS/nix
synced 2025-06-25 02:21:16 +02:00
parent
de71cebc3a
commit
d0a2323829
1 changed files with 6 additions and 5 deletions
|
@ -570,7 +570,7 @@ LockedFlake lockFlake(
|
||||||
|
|
||||||
/* Get the input flake, resolve 'path:./...'
|
/* Get the input flake, resolve 'path:./...'
|
||||||
flakerefs relative to the parent flake. */
|
flakerefs relative to the parent flake. */
|
||||||
auto getInputFlake = [&](const FlakeRef & ref)
|
auto getInputFlake = [&](const FlakeRef & ref, const fetchers::UseRegistries useRegistries)
|
||||||
{
|
{
|
||||||
if (auto resolvedPath = resolveRelativePath()) {
|
if (auto resolvedPath = resolveRelativePath()) {
|
||||||
return readFlake(state, ref, ref, ref, *resolvedPath, inputAttrPath);
|
return readFlake(state, ref, ref, ref, *resolvedPath, inputAttrPath);
|
||||||
|
@ -578,7 +578,7 @@ LockedFlake lockFlake(
|
||||||
return getFlake(
|
return getFlake(
|
||||||
state,
|
state,
|
||||||
ref,
|
ref,
|
||||||
useRegistriesInputs,
|
useRegistries,
|
||||||
inputAttrPath);
|
inputAttrPath);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -660,7 +660,7 @@ LockedFlake lockFlake(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mustRefetch) {
|
if (mustRefetch) {
|
||||||
auto inputFlake = getInputFlake(oldLock->lockedRef);
|
auto inputFlake = getInputFlake(oldLock->lockedRef, useRegistriesInputs);
|
||||||
nodePaths.emplace(childNode, inputFlake.path.parent());
|
nodePaths.emplace(childNode, inputFlake.path.parent());
|
||||||
computeLocks(inputFlake.inputs, childNode, inputAttrPath, oldLock, followsPrefix,
|
computeLocks(inputFlake.inputs, childNode, inputAttrPath, oldLock, followsPrefix,
|
||||||
inputFlake.path, false);
|
inputFlake.path, false);
|
||||||
|
@ -685,10 +685,11 @@ LockedFlake lockFlake(
|
||||||
nuked the next time we update the lock
|
nuked the next time we update the lock
|
||||||
file. That is, overrides are sticky unless you
|
file. That is, overrides are sticky unless you
|
||||||
use --no-write-lock-file. */
|
use --no-write-lock-file. */
|
||||||
auto ref = (input2.ref && explicitCliOverrides.contains(inputAttrPath)) ? *input2.ref : *input.ref;
|
auto inputIsOverride = explicitCliOverrides.contains(inputAttrPath);
|
||||||
|
auto ref = (input2.ref && inputIsOverride) ? *input2.ref : *input.ref;
|
||||||
|
|
||||||
if (input.isFlake) {
|
if (input.isFlake) {
|
||||||
auto inputFlake = getInputFlake(*input.ref);
|
auto inputFlake = getInputFlake(*input.ref, inputIsOverride ? fetchers::UseRegistries::All : useRegistriesInputs);
|
||||||
|
|
||||||
auto childNode = make_ref<LockedNode>(
|
auto childNode = make_ref<LockedNode>(
|
||||||
inputFlake.lockedRef,
|
inputFlake.lockedRef,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue