From 39c9b6751ed0621dbb68b721ae48c685c18cee87 Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Mon, 17 Oct 2022 00:13:06 +0200 Subject: [PATCH] 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 e146d89171a..7098de2ece3 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 -- 2.39.5