From 938f0f4fd9a226b8b20e76d1fd3da8458448dafb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 16 Jan 2025 19:04:29 +0100 Subject: [PATCH] Don't absolutize 'git+file:' in parseURLFlakeRef() https://github.com/NixOS/nix/issues/12273#issuecomment-2596069519 --- src/libflake/flake/flakeref.cc | 2 +- tests/functional/flakes/flakes.sh | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libflake/flake/flakeref.cc b/src/libflake/flake/flakeref.cc index cdb3c272f..eaafa9967 100644 --- a/src/libflake/flake/flakeref.cc +++ b/src/libflake/flake/flakeref.cc @@ -233,7 +233,7 @@ std::optional> parseURLFlakeRef( try { auto parsed = parseURL(url); if (baseDir - && (parsed.scheme == "path" || parsed.scheme == "git+file") + && parsed.scheme == "path" && !isAbsolute(parsed.path)) parsed.path = absPath(parsed.path, *baseDir); return fromParsedURL(fetchSettings, std::move(parsed), isFlake); diff --git a/tests/functional/flakes/flakes.sh b/tests/functional/flakes/flakes.sh index e3c3fa3b7..d90c416ef 100755 --- a/tests/functional/flakes/flakes.sh +++ b/tests/functional/flakes/flakes.sh @@ -224,7 +224,6 @@ nix build -o "$TEST_ROOT/result" "$flake1Dir" nix build -o "$TEST_ROOT/result" "git+file://$flake1Dir" (cd "$flake1Dir" && nix build -o "$TEST_ROOT/result" ".") (cd "$flake1Dir" && nix build -o "$TEST_ROOT/result" "path:.") -(cd "$flake1Dir" && nix build -o "$TEST_ROOT/result" "git+file:.") # Test explicit packages.default. nix build -o "$TEST_ROOT/result" "$flake1Dir#default"