emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/package+vc a52cec7b6b 04/10: Explicitly handle :vc-backend in a


From: Philip Kaludercic
Subject: feature/package+vc a52cec7b6b 04/10: Explicitly handle :vc-backend in a package specification
Date: Sun, 30 Oct 2022 13:55:31 -0400 (EDT)

branch: feature/package+vc
commit a52cec7b6b89785ee5321ed67d096db7ce42ce9c
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>

    Explicitly handle :vc-backend in a package specification
    
    * lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
    Document the feature.
    (package-vc-unpack): Check for :vc-backend in both PKG-SPEC and the
    archive specification data.
---
 lisp/emacs-lisp/package-vc.el | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 5d8b2be8e9..3816c6152d 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -145,6 +145,13 @@ A revision string indicating the revision used for the 
current
 release in the package archive.  If missing or nil, no release
 was made.
 
+        `:vc-backend' (symbol)
+
+A symbol indicating what the VC backend to use for cloning a
+package.  The value ought to be a member of
+`vc-handled-backends'.  If missing, `vc-clone' will fall back
+onto the archive default or `package-vc-default-backend'.
+
 All other values are ignored.")
 
 (defvar package-vc-archive-data-alist nil
@@ -409,7 +416,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 (or (package-vc-guess-backend url)
+        (let ((backend (or (plist-get pkg-spec :vc-backend)
+                           (package-vc-query-spec pkg-desc :vc-backend)
+                           (package-vc-guess-backend url)
                            (plist-get (alist-get (package-desc-archive 
pkg-desc)
                                                  package-vc-archive-data-alist
                                                  nil nil #'string=)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]