Ludovic Courtès schreef op za 02-10-2021 om 12:22 [+0200]: > +(define (profile-cache-key file) > + "Return the cache key for the profile corresponding to FILE, a 'guix.scm' or > +'manifest.scm' file, or #f if we lack channel information." > + (match (current-channels) > + (() #f) > + (((= channel-commit commits) ...) > + (let ((stat (stat file))) > + (bytevector->base32-string > + (sha256 (string->utf8 > + (string-append (string-join commits) ":" > + (basename file) ":" > + (number->string (stat:dev stat)) ":" > + (number->string (stat:ino stat)))))))))) Why only use the 'basename' of a file name instead of the full name? (Consider the case where a user has multiple "guix.scm" or "manifest.scm".) This turns out to be unproblematic, because stat:dev and stat:ino is included as well, though including (a part of) the file name is superfluous because stat:dev and stat:ino are included. Could you document the rationale for including the file name, and why only the basename is included instead of the full file name? Greetings, Maxime.