branch: master
commit 27f14634102a73d4252d86b912f67e9ad464be1e
Author: Ludovic Courtès <[email protected]>
Date:   Tue Nov 20 16:42:30 2018 +0100

    base: Keep going when a Git error is raised.
    
    * src/cuirass/base.scm (process-specs): Catch 'git-error around call to
    'process'.
---
 src/cuirass/base.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index b321778..c7447fa 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -734,4 +734,13 @@ started)."
           ;; 'spawn-fiber' returns zero values but we need one.
           *unspecified*))))
 
-  (for-each process jobspecs))
+  (for-each (lambda (spec)
+              ;; Catch Git errors, which might be transient, and keep going.
+              (catch 'git-error
+                (lambda ()
+                  (process spec))
+                (lambda (key error)
+                  (log-message "Git error while fetching inputs of '~a': ~s~%"
+                               (assq-ref spec #:name)
+                               (git-error-message error)))))
+            jobspecs))

Reply via email to