From: Philip Kaludercic Date: Sun, 16 Oct 2022 22:13:06 +0000 (+0200) Subject: Only clone packages if necessary X-Git-Tag: emacs-29.0.90~1616^2~307^2~53 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=39c9b6751ed0621dbb68b721ae48c685c18cee87;p=emacs.git Only clone packages if necessary * lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if directory exists before cloning. --- 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