Skip to content

builtins.fetchTree behaves differently if uri or attrs are parsed #12860

@domenkozar

Description

@domenkozar

While implementing builtins.fetchTree for https://snix.dev/ I've noticed revCount is missing when it shouldn't:

nixpkgs on  master [$] took 3s 
❯ /nix/store/pkw2fif96sahwnnkfxsmdzs0dl1nr5ln-nix-2.26.3/bin/nix-instantiate -E "builtins.fetchTree git+https://github.com/cachix/devenv" --eval
{ lastModified = 1743521698; lastModifiedDate = "20250401153458"; narHash = "sha256-bvl7YmNZjGEZhyH86mGiJdhZGMaRot1TMM6cjwrwH6k="; outPath = "/nix/store/b9319a8ffx2h1vd1bv7ip2ris0sf2sq2-source"; rev = "4917f16d045f12d938d0a29fb1cbfb9e24ae6d0d"; revCount = 3463; shortRev = "4917f16"; submodules = false; }

nixpkgs on  master [$] 
❯ /nix/store/pkw2fif96sahwnnkfxsmdzs0dl1nr5ln-nix-2.26.3/bin/nix-instantiate -E "builtins.fetchTree (builtins.parseFlakeRef git+https://github.com/cachix/devenv)" --eval
{ lastModified = 1743521698; lastModifiedDate = "20250401153458"; narHash = "sha256-bvl7YmNZjGEZhyH86mGiJdhZGMaRot1TMM6cjwrwH6k="; outPath = "/nix/store/b9319a8ffx2h1vd1bv7ip2ris0sf2sq2-source"; rev = "4917f16d045f12d938d0a29fb1cbfb9e24ae6d0d"; shortRev = "4917f16"; submodules = false; }

Property builtins.fetchTree input == builtins.fetchTree (builtins.parseFlakeRef input) should hold.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugfetchingNetworking with the outside (non-Nix) world, input lockinggood first issueQuick win for first-time contributors

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions