From: zimoun <zimon.toutoune@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 51307@debbugs.gnu.org
Subject: [bug#51307] [PATCH 0/2] guix hash: eases conversion
Date: Sat, 30 Oct 2021 17:40:59 +0200 [thread overview]
Message-ID: <86cznmldv8.fsf@gmail.com> (raw)
In-Reply-To: <875ytetvt1.fsf_-_@gnu.org>
Hi Ludo,
On Sat, 30 Oct 2021 at 16:46, Ludovic Courtès <ludo@gnu.org> wrote:
> zimoun <zimon.toutoune@gmail.com> skribis:
>
>> * guix/scripts/hash.scm (guix-hash): Allow several files.
>> [directory?]: New procedure.
>> [file-hash]: Catch system-error.
>> [hash-to-display]: New procedure.
>
> Nice! Could you update guix.texi and tests/guix-hash.texi?
I will once we agree and reach consensus. ;-)
>> - (with-error-handling
>> - (if (assoc-ref opts 'recursive?)
>> + (if (and (assoc-ref opts 'recursive?)
>> + (directory? file))
>
> This change is not related to the main purpose of the patch.
>
> More importantly, note that ‘--recursive’ is not limited to directories:
> it preserves file properties (directory, executable, or regular), so
> it’s also useful for executable files for instance. It can also be used
> for regular files, even if it’s less useful.
I understand. Could you provide concrete examples when it is not
directory? In order to see if there is a pattern.
>> + (define (hash-to-display thing)
>> + (match thing
>> + ((? file-exists? file)
>> + (fmt (file-hash file)))
>> + ("-" (with-error-handling
>> + (fmt (port-hash (assoc-ref opts 'hash-algorithm)
>> + (current-input-port)))))
>
> I’d swap the order of the two clauses and remove the call to
> ‘file-exists?’: if the file doesn’t exist, ‘file-hash’ will raise an
> error.
I can swap order but not remove file-exists? Otherwise, the next clause…
>> + (x
>> + (leave (G_ "wrong argument~%")))))
will never happen. And some tests are failing.
>> + (for-each
>> + (lambda (arg)
>> + (format #t "~a~%" (hash-to-display arg)))
>
> Or just (compose display hash-to-display) ?
>
> Maybe s/hash-to-display/formatted-hash/.
Thanks. Indeed both are better. :-)
> Could you send an updated patch?
Yes, but before, from my understanding, we should agree on the goal of
such patch. :-) See the two other replies.
Cheers,
simon
next prev parent reply other threads:[~2021-10-30 15:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 16:50 [bug#51307] [PATCH 0/2] guix hash: eases conversion zimoun
2021-10-20 16:54 ` [bug#51307] [PATCH 1/2] scripts: hash: Improve error handling zimoun
2021-10-20 16:54 ` [bug#51307] [PATCH 2/2] scripts: hash: Support file or package zimoun
2021-10-30 14:48 ` [bug#51307] [PATCH 0/2] guix hash: eases conversion Ludovic Courtès
2021-10-30 15:34 ` zimoun
2021-10-30 14:46 ` Ludovic Courtès
2021-10-30 15:40 ` zimoun [this message]
2021-10-31 13:43 ` Ludovic Courtès
2021-10-30 14:53 ` Ludovic Courtès
2021-10-30 15:19 ` zimoun
2021-10-30 15:24 ` zimoun
2021-10-31 14:03 ` Ludovic Courtès
2021-11-09 9:18 ` zimoun
2021-10-31 14:48 ` [bug#51307] Content hashes and file tree serialization methods Ludovic Courtès
2021-11-18 0:29 ` zimoun
2021-11-18 0:20 ` [bug#51307] [PATCH v2 0/3] scripts: hash: Several files and serializer zimoun
2021-11-18 0:20 ` [bug#51307] [PATCH v2 1/3] scripts: hash: Support several files zimoun
2021-12-17 16:17 ` Ludovic Courtès
2021-11-18 0:20 ` [bug#51307] [PATCH v2 2/3] scripts: hash: Add 'serializer' option zimoun
2021-12-17 16:17 ` Ludovic Courtès
2021-11-18 0:20 ` [bug#51307] [PATCH v2 3/3] scripts: hash: Add git serializer zimoun
[not found] ` <87bl1bjsxf.fsf@gnu.org>
[not found] ` <CAJ3okZ00+BSw=nuhGP8NTwU8ZmitzrfFzTw0WecsOB9rZ+hG_g@mail.gmail.com>
2021-12-21 9:09 ` Ludovic Courtès
2021-12-15 8:06 ` [bug#51307] [PATCH v2 0/3] scripts: hash: Several files and serializer zimoun
2021-12-15 10:05 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86cznmldv8.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=51307@debbugs.gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).