summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorSimon Tournier <zimon.toutoune@gmail.com>2025-07-17 01:53:49 +0200
committerLudovic Courtès <ludo@gnu.org>2025-07-17 16:41:28 +0200
commit758e79730cb13de49b95d0ec3eb1c83766166c94 (patch)
treeb02eece98f31616ee2f14d6fe41f51602995d143 /guix
parentdd25c5a6f2003ae9c99a7e451d0376128dd92274 (diff)
swh: Catch swh-error when downloading from SWH Vault.
* guix/swh.scm (swh-download): Catch 'swh-error' and display the error message. Change-Id: I2965d8b71023a938a5ba7eba454c6ec109fdcc54 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'guix')
-rw-r--r--guix/swh.scm17
1 files changed, 13 insertions, 4 deletions
diff --git a/guix/swh.scm b/guix/swh.scm
index fd17b04b75..038895904a 100644
--- a/guix/swh.scm
+++ b/guix/swh.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2018-2021, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
-;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021, 2025 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -802,9 +802,13 @@ and #f on failure.
This procedure uses the \"vault\", which contains \"cooked\" directories in
the form of tarballs. If the requested directory is not cooked yet, it will
wait until it becomes available, which could take several minutes."
- (match (if (commit-id? reference)
- (lookup-revision reference)
- (lookup-origin-revision url reference))
+ (match (catch 'swh-error
+ (lambda ()
+ (if (commit-id? reference)
+ (lookup-revision reference)
+ (lookup-origin-revision url reference)))
+ (lambda (key url method response)
+ response))
((? revision? revision)
(format log-port "SWH: found revision ~a with directory at '~a'~%"
(revision-id revision)
@@ -819,6 +823,11 @@ wait until it becomes available, which could take several minutes."
output
#:archive-type archive-type
#:log-port log-port))
+ ((? response? response)
+ (format log-port
+ "SWH: error: ~a~%"
+ (response-reason-phrase response))
+ #f)
(#f
(format log-port
"SWH: revision ~s originating from ~a could not be found~%"