GNU bug report logs -
#50072
[PATCH WIP 0/4] Add upstream updater for git-fetch origins.
Previous Next
Reported by: Sarah Morgensen <iskarian <at> mgsn.dev>
Date: Sun, 15 Aug 2021 23:17:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
zimoun schreef op wo 05-01-2022 om 12:48 [+0100]:
> Well, I think ’#:recursive?’ is confusing, and ’auto’ too because it is
> not POLA for a plumbing function, IMHO. [...]
Principle of least authority, or principle of least astonishment?
I presume the latter.
> Anyway. It is v4 and it is ready to merge. :-)
I vote for a purple bikeshed! But your orange bikeshed would also keep
the bikes out of the rain.
> I just propose to replace ’#:recursive?’ by ’#:nar-serializer?’ and a
> docstring along these lines,
>
> --8<---------------cut here---------------start------------->8---
> "Compute the hash of FILE with ALGORITHM. If NAR-SERIALIZER? is
> #true, compute the combined hash (NAR hash) of FILE for which (SELECT?
> FILE STAT) returns true.
>
> If NAR-SERIALIZER? is #false, compute the regular hash using the
> default serializer. It is meant to be used for a regular file.
>
> If NAR-SERIALIZER? is 'auto', when FILE is a directory, compute the
> combined hash (NAR hash). When FILE is a regular file, compute the
> regular hash using the default serializer. The option ’auto’ is meant
> to apply by default the expected hash computation.
>
> Symbolic links are not dereferenced unless NAR-SERIALIZER? is false.
>
> This procedure must only be used under controlled circumstances; the
> detection of symbolic links in FILE is racy.
> --8<---------------cut here---------------end--------------->8---
>
> WDYT?
The nar hash / regular hash difference seems a very low-level detail to
me, that most (all?) users don't need to be bothered about. Except
maybe if FILE denotes an executable regular file, but file-hash* is
currently only used on tarballs/zip files/git checkouts, which aren't
executable files unless weirdness or some kind of attack is happening.
I think that, the ‘least astonishing’ thing to do here, is computing
the hash that would go into the 'hash' / 'sha256' field of 'origin'
objects by default, and not the nar hash for regular files that's
almost never used.
Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 3 years and 132 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.