summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorPhilip Kaludercic <philipk@posteo.net>2022-12-09 19:54:25 +0100
committerPhilip Kaludercic <philipk@posteo.net>2022-12-10 09:48:02 +0100
commit357fe91996bc6015af002fe4259a3a61a5f32dbb (patch)
tree5bdaaeb12118df8667ce7bae98a0526266545ba9 /lisp/emacs-lisp
parent5e8bc79f6b22cda99b522dbbdaa116ea62feb48e (diff)
downloademacs-357fe91996bc6015af002fe4259a3a61a5f32dbb.tar.gz
emacs-357fe91996bc6015af002fe4259a3a61a5f32dbb.tar.bz2
emacs-357fe91996bc6015af002fe4259a3a61a5f32dbb.zip
Check if package already exists before installing from checkout
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout): Copy check from 'package-vc--unpack'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/package-vc.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 80d268c2958..cf9b98308f1 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -754,6 +754,10 @@ name from the base name of DIR."
(package-vc--archives-initialize)
(let* ((name (or name (file-name-base (directory-file-name dir))))
(pkg-dir (expand-file-name name package-user-dir)))
+ (when (file-exists-p pkg-dir)
+ (if (yes-or-no-p (format "Overwrite previous checkout for package `%s'?" name))
+ (package--delete-directory pkg-dir)
+ (error "There already exists a checkout for %s" name)))
(make-symbolic-link (expand-file-name dir) pkg-dir)
(package-vc--unpack-1
(package-desc-create