[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] elpa-admin c84575d: * elpa-admin.el (elpaa--get-release-revision)
From: |
Stefan Monnier |
Subject: |
[elpa] elpa-admin c84575d: * elpa-admin.el (elpaa--get-release-revision): Fix code for :core pkgs |
Date: |
Tue, 9 Mar 2021 22:32:28 -0500 (EST) |
branch: elpa-admin
commit c84575d8acd95765497de3de1b69998cad533f56
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* elpa-admin.el (elpaa--get-release-revision): Fix code for :core pkgs
(elpaa--select-revision): Be more forgiving.
---
elpa-admin.el | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/elpa-admin.el b/elpa-admin.el
index 5cb3d26..66614c8 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -163,7 +163,13 @@ commit which modified the \"Version:\" pseudo header."
(not (member vers (car version-map))))
(pop version-map))
(or (nth 2 (car version-map))
- (let* ((default-directory (elpaa--dirname dir))
+ ;; When the mainfile is a symlink (e.g. for :core packages), run Git
+ ;; in the directory that holds the actual file, otherwise Git won't
+ ;; know what file we're talking about.
+ (let* ((mainfile (file-truename
+ (expand-file-name (elpaa--main-file pkg-spec)
+ (elpaa--dirname dir))))
+ (default-directory (file-name-directory mainfile))
(release-rev
(with-temp-buffer
(if (equal 0 ;Don't signal an error if call errors out.
@@ -172,7 +178,7 @@ commit which modified the \"Version:\" pseudo header."
"git" "log" "-n1" "--oneline" "--no-patch"
"--pretty=format:%H"
"-L" (concat "/^;;* *\\(Package-\\)\\?Version:/,+1:"
- (elpaa--main-file pkg-spec))))
+ (file-name-nondirectory mainfile))))
(buffer-string)
(cons 'error (buffer-string))))))
(if (stringp release-rev)
@@ -246,7 +252,8 @@ Do it without leaving the current branch."
(expand-file-name (elpaa--main-file pkg-spec) dir)))
(default-directory (file-name-directory ftn)))
(vc-working-revision ftn))))
- (if (equal rev cur-rev)
+ ;; Don't fail in case `rev' is not known.
+ (if (or (not rev) (equal rev cur-rev))
(elpaa--message "Current revision is already desired revision!")
(with-temp-buffer
(let ((default-directory (elpaa--dirname dir)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] elpa-admin c84575d: * elpa-admin.el (elpaa--get-release-revision): Fix code for :core pkgs,
Stefan Monnier <=