+1
-1
lib/asserts.nix
+2
-2
lib/attrsets.nix
······-name: value: builtins.throw "unionOfDisjoint: collision on ${name}; complete list: ${collisions}"
+2
-2
lib/deprecated/misc.nix
···
+2
-2
lib/fileset/default.nix
···`gitTrackedWith` does not perform any filtering when the path is a [Nix store path](https://nixos.org/manual/nix/stable/store/store-path.html#store-path) and not a repository.In this way, it accommodates the use case where the expression that makes the `gitTracked` call does not reside in an actual git repository anymore,-Fetchers with such equivalent behavior include `builtins.fetchGit`, `builtins.fetchTree` (experimental), and `pkgs.fetchgit` when used without `leaveDotGit`.+Fetchers with such equivalent behavior include `fetchGit`, `fetchTree` (experimental), and `pkgs.fetchgit` when used without `leaveDotGit`.···(which uses [`--cached`](https://git-scm.com/docs/git-ls-files#Documentation/git-ls-files.txt--c) by default).-Currently this function is based on [`builtins.fetchGit`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchGit)+Currently this function is based on [`fetchGit`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchGit)As such, this function causes all Git-tracked files to be unnecessarily added to the Nix store,
+4
-4
lib/fileset/internal.nix
···lib.fileset.${function}: The ${argument} (${toString path}) is a store path within a working tree of a Git repository.This indicates that a source directory was imported into the store using a method such as `import "''${./.}"` or `path:.`.-This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`.+This function currently does not support such a use case, since it currently relies on `fetchGit`.You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository.If you can't avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.''···# However a simpler alternative still would be [a builtins.gitLsFiles](https://github.com/NixOS/nix/issues/2944).···
+9
-9
lib/fileset/tests.sh
···## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}")expectFailure 'import "${./.}" { fs = lib.fileset; }' 'lib.fileset.gitTracked: The argument \(.*\) is a store path within a working tree of a Git repository.[[:blank:]]*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`.-[[:blank:]]*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`.+[[:blank:]]*This function currently does not support such a use case, since it currently relies on `fetchGit`.[[:blank:]]*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository.[[:blank:]]*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.'···## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files-expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(builtins.fetchGit { url = ./.; submodules = true; }).outPath'-expectEqual '(import ./sub { fs = lib.fileset; }).outPath' '(builtins.fetchGit ./sub).outPath'+expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(fetchGit { url = ./.; submodules = true; }).outPath'expectEqual '(import '"$storePathWithSub"' { fs = lib.fileset; }).outPath' \""$storePathWithSub"\"expectEqual '(import '"$storePathSub"' { fs = lib.fileset; }).outPath' \""$storePathSub"\"## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}")expectFailure 'import "${./.}" { fs = lib.fileset; }' 'lib.fileset.gitTrackedWith: The second argument \(.*\) is a store path within a working tree of a Git repository.[[:blank:]]*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`.-[[:blank:]]*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`.+[[:blank:]]*This function currently does not support such a use case, since it currently relies on `fetchGit`.[[:blank:]]*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository.[[:blank:]]*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.'expectFailure 'import "${./.}/sub" { fs = lib.fileset; }' 'lib.fileset.gitTracked: The argument \(.*/sub\) is a store path within a working tree of a Git repository.[[:blank:]]*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`.-[[:blank:]]*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`.+[[:blank:]]*This function currently does not support such a use case, since it currently relies on `fetchGit`.[[:blank:]]*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository.[[:blank:]]*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.'
+1
-1
lib/gvariant.nix
···Please wrap the value with one of the following, depending on the value type in GSettings schema:
+1
-1
lib/meta.nix
···
+1
-1
lib/path/README.md
···As inputs all three variants are supported for subpaths (and we can't do anything about absolute paths)- (+) `./.` is a valid Nix path expression, although this property does not hold for every relative path or subpath.
+1
-1
lib/strings.nix
···
+1
-1
lib/systems/default.nix
+1
-1
lib/tests/checkAndMergeCompat.nix
···
+2
-2
lib/tests/misc.nix
···
+1
-1
lib/tests/modules/declare-coerced-value-no-default.nix
+1
-1
lib/tests/modules/declare-coerced-value.nix
+1
-1
lib/tests/modules/define-freeform-keywords-shorthand.nix
+4
-4
lib/trivial.nix
······-"${msg}: ${builtins.concatStringsSep ", " (builtins.map builtins.toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (builtins.map builtins.toString valid)}";+"${msg}: ${builtins.concatStringsSep ", " (map toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (map toString valid)}";······