branch: elpa-admin
commit 7b3ff8937cb8f9f927ec5bf7bf101623d8ca67d6
Author: Stefan Monnier <monn...@iro.umontreal.ca>
Commit: Stefan Monnier <monn...@iro.umontreal.ca>

    * elpa-admin.el: Avoid fetching from git.sr.ht
    
    (elpaa--manual-sync-re): New var.
    (elpaa--manual-sync-p): New function.
    (elpaa--batch-fetch-and): Use it.
---
 elpa-admin.el | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index 7ee385d0a5..907d48eecd 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -2592,6 +2592,17 @@ relative to elpa root."
 
 ;;; Fetch updates from upstream
 
+(defvar elpaa--manual-sync-re
+  ;; SourceHut is giving us (slow) errors,
+  ;; maybe that black-listed us for excessive polling?
+  "git\\.sr\\.ht/"
+  "Regexp matching URLs from which we shouldn't poll.")
+
+(defun elpaa--manual-sync-p (pkg-spec)
+  (or (elpaa--spec-get pkg-spec :manual-sync)
+      (let ((url (elpaa--spec-get pkg-spec :url)))
+        (and url (string-match elpaa--manual-sync-re url)))))
+
 (defun elpaa--branch (pkg-spec)
   (elpaa--spec-get pkg-spec :branch))
 
@@ -2776,7 +2787,7 @@ relative to elpa root."
     (dolist (pkg pkgs)
       (let* ((pkg-spec (elpaa--get-package-spec pkg specs)))
         (cond
-         ((and all (elpaa--spec-get pkg-spec :manual-sync)) nil) ;Skip.
+         ((and all (elpaa--manual-sync-p pkg-spec)) nil) ;Skip.
          ((or (eq condition ':)
               (elpaa--spec-get pkg-spec condition))
           ;; (unless (file-directory-p (expand-file-name pkg "packages"))

Reply via email to