This PR should make this problem better (though it won’t handle the ‘rev changed but url didn’t’ case) https://github.com/NixOS/nixpkgs/pull/5521 <https://github.com/NixOS/nixpkgs/pull/5521>
> On Jan 1, 2015, at 1:27 PM, Shea Levy <[email protected]> wrote: > > >> On Jan 1, 2015, at 1:22 PM, Bjørn Forsman <[email protected]> wrote: >> >> On 31 December 2014 at 17:50, Rico Huijbers <[email protected]> wrote: >>> Hi, >>> >>> When I copy/paste a fetchgit block from another file, and change the URL >>> and rev without changing the hash, I expect the download to fail (and tell >>> me the hash). >>> >>> However, what actually happens is that fetchgit just looks at the hash, >>> sees that *something* with that hash has already been downloaded, and >>> happily proceeds with the rest of the script using the wrong source files. >>> Now I have to go and do nix-prefetch-git every time. >>> >>> Shouldn’t fetchgit build the hash from URL and rev, as opposed to the >>> provided hash? Or am I doing it wrong? >> >> AFAIK, it's the nixos hashed mirror that creates this behaviour. >> fetchgit itself will re-download if the _basename_ of the URL changes, >> but when the hashed mirror has a file with the given hash, it is >> downloaded instead. >> >> So it's the hashed mirror that needs to take the basename of URL into >> account. >> > > No, the hashed mirror causes this for fetchurl, but for fetchgit the drv name > is always “git-export” so even without the hashed mirror this is true (same > output hash + same drv name = same output path). > >> Best regards, >> Bjørn Forsman >> _______________________________________________ >> nix-dev mailing list >> [email protected] >> http://lists.science.uu.nl/mailman/listinfo/nix-dev > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
