]> git.eshelyaron.com Git - emacs.git/commitdiff
Use user option 'package-vc-default-backend' when cloning
authorPhilip Kaludercic <philipk@posteo.net>
Sun, 23 Oct 2022 16:27:07 +0000 (18:27 +0200)
committerPhilip Kaludercic <philipk@posteo.net>
Sun, 23 Oct 2022 16:27:07 +0000 (18:27 +0200)
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Respect
'package-vc-default-backend'.

lisp/emacs-lisp/package-vc.el

index 082e8f17f6215c06cf8b667d5157dd2b3173d7f5..dd451e80f4b57eb16e0fdb3930430560ea9e8a30 100644 (file)
   :version "29.1")
 
 (defcustom package-vc-default-backend 'Git
-  "VC backend to use as a fallback."
-  :type `(choice
-          ,@(mapcar (lambda (b) (list 'const b))
-                    vc-handled-backends))
+  "Default VC backend used when cloning a package repository.
+If no repository type was specified or could be guessed by
+`package-vc-heusitic-alist', the VC backend denoted by this
+symbol is used.  The value must be a member of
+`vc-handled-backends' that implements the `clone' function."
+  :type `(choice ,@(mapcar (lambda (b) (list 'const b))
+                           vc-handled-backends))
   :version "29.1")
 
 (defvar package-vc-archive-spec-alist nil
@@ -357,8 +360,9 @@ the `:brach' attribute in PKG-SPEC."
       ;; Clone the repository into `repo-dir' if necessary
       (unless (file-exists-p repo-dir)
         (make-directory (file-name-directory repo-dir) t)
-        (let ((backend (and url (alist-get url package-vc-heusitic-alist
-                                           nil nil #'string-match-p))))
+        (let ((backend (or (and url (alist-get url package-vc-heusitic-alist
+                                               nil nil #'string-match-p))
+                           package-vc-default-backend)))
           (unless (vc-clone url backend repo-dir (or rev branch))
             (error "Failed to clone %s from %s" name url))))