mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 06:42:28 +00:00
pathExists: isDir when endswith /.
(cherry picked from commitf8a3893e8d
) (cherry picked from commit860f64c345
)
This commit is contained in:
parent
cc0ea0dd58
commit
70f7388fb9
@ -1521,7 +1521,9 @@ static void prim_pathExists(EvalState & state, const PosIdx pos, Value * * args,
|
||||
auto path = realisePath(state, pos, arg, { .checkForPureEval = false });
|
||||
|
||||
/* SourcePath doesn't know about trailing slash. */
|
||||
auto mustBeDir = arg.type() == nString && arg.str().ends_with("/");
|
||||
auto mustBeDir = arg.type() == nString
|
||||
&& (arg.str().ends_with("/")
|
||||
|| arg.str().ends_with("/."));
|
||||
|
||||
try {
|
||||
auto checked = state.checkSourcePath(path);
|
||||
|
@ -2,6 +2,27 @@ builtins.pathExists (./lib.nix)
|
||||
&& builtins.pathExists (builtins.toPath ./lib.nix)
|
||||
&& builtins.pathExists (builtins.toString ./lib.nix)
|
||||
&& !builtins.pathExists (builtins.toString ./lib.nix + "/")
|
||||
&& !builtins.pathExists (builtins.toString ./lib.nix + "/.")
|
||||
# FIXME
|
||||
# && !builtins.pathExists (builtins.toString ./lib.nix + "/..")
|
||||
# && !builtins.pathExists (builtins.toString ./lib.nix + "/a/..")
|
||||
# && !builtins.pathExists (builtins.toString ./lib.nix + "/../lib.nix")
|
||||
&& !builtins.pathExists (builtins.toString ./lib.nix + "/./")
|
||||
&& !builtins.pathExists (builtins.toString ./lib.nix + "/./.")
|
||||
&& builtins.pathExists (builtins.toString ./.. + "/lang/lib.nix")
|
||||
&& !builtins.pathExists (builtins.toString ./.. + "lang/lib.nix")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/lib.nix")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/./lib.nix")
|
||||
&& builtins.pathExists (builtins.toString ./.)
|
||||
&& builtins.pathExists (builtins.toString ./. + "/")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/.")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/./")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang//./")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/..")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/../")
|
||||
&& builtins.pathExists (builtins.toString ./. + "/../lang/..//")
|
||||
&& builtins.pathExists (builtins.toPath (builtins.toString ./lib.nix))
|
||||
&& !builtins.pathExists (builtins.toPath (builtins.toString ./bla.nix))
|
||||
&& builtins.pathExists ./lib.nix
|
||||
|
Loading…
Reference in New Issue
Block a user