Hi Ludo, On Tue, 26 Sep 2023 at 15:34, Ludovic Courtès wrote: > My take is that it’s OK to keep ‘vcs-file?’ as is: the best we could do > would be to add complicated heuristics in the hope corner cases like > this one would be better dealt with, but it wouldn’t be bullet-proof > anyway. Hum, I am probably pig-headed here. :-) I propose the change below. Well, it does not appear to me a complicated heuristics but I am biased. The idea is to detect at the repository root what is the kind of VCS, just by checking if .git (or .hg or .svn or etc.) exists or not. Then, only exclude this kind… and not the whole list. And I think this way is almost bullet-proof, no? Or could you provide some contrived examples? WDYT? Obviously, this fixes the issue: --8<---------------cut here---------------start------------->8--- $ guix hash -rx /tmp/FastQC 0jyk90kg6s62w3dn6qjx9nrawjs12qx172lii0yxbvsfylhnx479 $ ./pre-inst-env guix hash -rx /tmp/FastQC 00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk $ grep -A 15 'define-public fastqc' gnu/packages/bioinformatics.scm | grep -C 1 base32 (sha256 (base32 "00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk")) --8<---------------cut here---------------end--------------->8--- And I do not observe a regression using a couple of tests. Cheers, simon