emacs-diffs
[Top][All Lists]
Advanced

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

feature/package+vc 39c9b6751e 2/6: Only clone packages if necessary


From: Philip Kaludercic
Subject: feature/package+vc 39c9b6751e 2/6: Only clone packages if necessary
Date: Tue, 18 Oct 2022 16:35:48 -0400 (EDT)

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

    Only clone packages if necessary
    
    * lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if
    directory exists before cloning.
---
 lisp/emacs-lisp/package-vc.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index e146d89171..7098de2ece 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -267,11 +267,12 @@ The output is written out into PKG-FILE."
                      ;; names to avoid an unnecessary error.
                      (file-name-base repo)))))
 
-      ;; Clone the repository into `repo-dir'.
-      (make-directory (file-name-directory repo-dir) t)
-      (unless (setf (car (alist-get :upstream attr))
-                    (vc-clone backend repo repo-dir))
-        (error "Failed to clone %s from %s" name repo))
+      ;; Clone the repository into `repo-dir' if necessary
+      (unless (file-exists-p repo-dir)
+        (make-directory (file-name-directory repo-dir) t)
+        (unless (setf (car (alist-get :upstream attr))
+                      (vc-clone backend repo repo-dir))
+          (error "Failed to clone %s from %s" name repo)))
 
       (unless (eq pkg-dir repo-dir)
         ;; Link from the right position in `repo-dir' to the package



reply via email to

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