nix/src/libfetchers
Eelco Dolstra 071dd2b3a4 Input: Replace 'locked' bool by isLocked() method
It's better to just check whether the input has all the attributes
needed to consider itself locked (e.g. whether a Git input has an
'rev' attribute).

Also, the 'locked' field was actually incorrect for Git inputs: it
would be set to true even for dirty worktrees. As a result, we got
away with using fetchTree() internally even though fetchTree()
requires a locked input in pure mode. In particular, this allowed
'--override-input' to work by accident.

The fix is to pass a set of "overrides" to call-flake.nix for all the
unlocked inputs (i.e. the top-level flake and any --override-inputs).
2024-02-20 16:59:15 +01:00
..
attrs.cc Merge remote-tracking branch 'origin/master' into tarball-cache 2023-12-14 13:31:29 +01:00
attrs.hh Add a Git-based content-addressed tarball cache 2023-11-29 12:37:03 +01:00
cache.cc Organize content addressing, use SourceAccessor with Store::addToStore 2023-12-18 10:41:54 -05:00
cache.hh Organize content addressing, use SourceAccessor with Store::addToStore 2023-12-18 10:41:54 -05:00
fetch-settings.cc Move some stuff from Settings to a new FetchSettings. 2022-03-01 01:39:25 +00:00
fetch-settings.hh Split up util.{hh,cc} 2023-11-05 12:20:02 -05:00
fetch-to-store.cc fetchToStore(): Don't always respect settings.readOnlyMode 2024-02-20 11:46:49 +01:00
fetch-to-store.hh fetchToStore(): Don't always respect settings.readOnlyMode 2024-02-20 11:46:49 +01:00
fetchers.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
fetchers.hh Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
filtering-input-accessor.cc AllowListInputAccessor: Clarify that the "allowed paths" are actually allowed prefixes 2024-02-20 11:23:26 +01:00
filtering-input-accessor.hh AllowListInputAccessor: Clarify that the "allowed paths" are actually allowed prefixes 2024-02-20 11:23:26 +01:00
fs-input-accessor.cc Get rid of CanonPath::fromCwd 2024-02-08 11:01:41 -05:00
fs-input-accessor.hh Get rid of CanonPath::fromCwd 2024-02-08 11:01:41 -05:00
git-utils.cc Support empty Git repositories / workdirs 2024-02-20 11:40:02 +01:00
git-utils.hh Remove tarball-cache.{hh,cc} 2024-02-15 21:58:08 +01:00
git.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
github.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
indirect.cc HashType: Rename to HashAlgorithm 2023-12-06 23:43:42 +01:00
local.mk Only link with -pthread on Unix 2024-01-10 20:38:39 -05:00
memory-input-accessor.cc Support empty Git repositories / workdirs 2024-02-20 11:40:02 +01:00
memory-input-accessor.hh Support empty Git repositories / workdirs 2024-02-20 11:40:02 +01:00
mercurial.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
mounted-input-accessor.cc Cleanup 2023-11-14 14:47:17 +01:00
mounted-input-accessor.hh Rename UnionInputAccessor to MountedInputAccessor 2023-11-14 14:02:57 +01:00
path.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
registry.cc Split up util.{hh,cc} 2023-11-05 12:20:02 -05:00
registry.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
tarball.cc Input: Replace 'locked' bool by isLocked() method 2024-02-20 16:59:15 +01:00
tarball.hh Remove fetchers::Tree and move tarball-related stuff into its own header 2023-10-20 19:56:52 +02:00