From: Philip Kaludercic <philipk@posteo.net>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Richard Stallman <rms@gnu.org>, emacs-devel@gnu.org
Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS
Date: Sun, 30 Oct 2022 13:06:30 +0000 [thread overview]
Message-ID: <87ilk1bgvd.fsf@posteo.net> (raw)
In-Reply-To: <jwvr0yqefju.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sat, 29 Oct 2022 12:57:49 -0400")
[-- Attachment #1: Type: text/plain, Size: 1304 bytes --]
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> We're not there yet, but the above adds info which we
>>> can (and do in `elpa-admin.el`) extract from the VCS, so it's going
>>> "backward". IOW, it's making things worse rather than better.
>>
>> You mean the addition of :release-rev, right?
>
> Yes.
>
>> Yes, it could be extracted from the VCS, but finding a generic system
>> is tricky as you have mentioned. How about a new VC method
>> `last-change' that takes a region and returns the last revision that
>> affected it. Any backend that supports `annotate' ought to be able to
>> determine it, right?
>
> Fine by me. As mentioned earlier, there's a good chance that if you use
> a different VCS than Git, this method will sometimes end up selecting
> a different commit than `elpa-admin.el`, but if we insist on supporting
> a local VCS different from the one used by `elpa-admin.el`, then we
> probably have to live with that.
I guess so. Here is a possible patch that should behave close enough to
elpa-admin.el using "blame" (an obvious exception is the missing handler
for the new :merge property, but I have been wondering if it might also
be fair to always add "--first-parent" for Git).
The default handler just wraps vc-annotate, so it is a bit more fragile.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Extract-last-source-package-release-from-local-VCS-d.patch --]
[-- Type: text/x-patch, Size: 10416 bytes --]
From 30f1e7c1e93dda496412f76f70b2f49b30407b11 Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <philipk@posteo.net>
Date: Sun, 30 Oct 2022 11:43:11 +0100
Subject: [PATCH] Extract last source package release from local VCS data
* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Unmention :release-rev
(package-vc-desc->spec): Fall back on other archives if a
specification is missing.
(package-vc-main-file): Add new function, copying the behaviour of
elpa-admin.el.
(package-vc-generate-description-file): Use 'package-vc-main-file'.
(package-vc-unpack): Handle special value ':last-release'.
(package-vc-release-rev): Add new function using 'last-change'.
(package-vc-install): Pass ':last-release' as REV instead of a
release.
* lisp/vc/vc-git.el (vc-git-last-change): Add Git 'last-change'
implementation.
* lisp/vc/vc.el (vc-default-last-change): Add default 'last-change'
implementation.
This attempts to replicate the behaviour of elpa-admin.el's
"elpaa--get-last-release-commit".
---
lisp/emacs-lisp/package-vc.el | 88 +++++++++++++++++++++++------------
lisp/vc/vc-git.el | 17 +++++++
lisp/vc/vc.el | 18 +++++++
3 files changed, 94 insertions(+), 29 deletions(-)
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 3816c6152d..6597989777 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -139,12 +139,6 @@ package-vc-archive-spec-alist
metadata. If not given, the assumed default is the package named
with \".el\" concatenated to the end.
- `:release-rev' (string)
-
-A revision string indicating the revision used for the current
-release in the package archive. If missing or nil, no release
-was made.
-
`:vc-backend' (symbol)
A symbol indicating what the VC backend to use for cloning a
@@ -179,8 +173,10 @@ package-vc-desc->spec
name for PKG-DESC."
(alist-get
(or name (package-desc-name pkg-desc))
- (alist-get (intern (package-desc-archive pkg-desc))
- package-vc-archive-spec-alist)
+ (if (package-desc-archive pkg-desc)
+ (alist-get (intern (package-desc-archive pkg-desc))
+ package-vc-archive-spec-alist)
+ (mapcan #'append (mapcar #'cdr package-vc-archive-spec-alist)))
nil nil #'string=))
(define-inline package-vc-query-spec (pkg-desc prop)
@@ -258,6 +254,20 @@ package-vc-version
return it
finally return "0"))
+(defun package-vc-main-file (pkg-desc)
+ "Return the main file for PKG-DESC."
+ (cl-assert (package-vc-p pkg-desc))
+ (let ((pkg-spec (package-vc-desc->spec pkg-desc)))
+ (or (plist-get pkg-spec :main-file)
+ (expand-file-name
+ (format "%s.el" (package-desc-name pkg-desc))
+ (file-name-concat
+ (or (package-desc-dir pkg-desc)
+ (expand-file-name
+ (package-desc-name pkg-desc)
+ package-user-dir))
+ (plist-get pkg-spec :lisp-dir))))))
+
(defun package-vc-generate-description-file (pkg-desc pkg-file)
"Generate a package description file for PKG-DESC.
The output is written out into PKG-FILE."
@@ -265,18 +275,13 @@ package-vc-generate-description-file
;; Infer the subject if missing.
(unless (package-desc-summary pkg-desc)
(setf (package-desc-summary pkg-desc)
- (or (package-desc-summary pkg-desc)
- (and-let* ((pkg (cadr (assq name package-archive-contents))))
- (package-desc-summary pkg))
- (and-let* ((pkg-spec (package-vc-desc->spec pkg-desc))
- (main-file (plist-get pkg-spec :main-file)))
- (lm-summary main-file))
- (and-let* ((main-file (expand-file-name
- (format "%s.el" name)
- (package-desc-dir pkg-desc)))
- ((file-exists-p main-file)))
- (lm-summary main-file))
- package--default-summary)))
+ (let ((main-file (package-vc-main-file pkg-desc)))
+ (or (package-desc-summary pkg-desc)
+ (and-let* ((pkg (cadr (assq name package-archive-contents))))
+ (package-desc-summary pkg))
+ (and main-file (file-exists-p main-file)
+ (lm-summary main-file))
+ package--default-summary))))
(let ((print-level nil)
(print-quoted t)
(print-length nil))
@@ -424,9 +429,16 @@ package-vc-unpack
nil nil #'string=)
:vc-backend)
package-vc-default-backend)))
- (unless (vc-clone url backend repo-dir (or rev branch))
+ (unless (vc-clone url backend repo-dir
+ (or (and (not (eq rev :last-release)) rev) branch))
(error "Failed to clone %s from %s" name url))))
+ ;; Check out the latest release if requested
+ (when (eq rev :last-release)
+ (if-let ((release-rev (package-vc-release-rev pkg-desc)))
+ (vc-retrieve-tag pkg-dir release-rev)
+ (message "No release revision was found, continuing...")))
+
(unless (eq pkg-dir repo-dir)
;; Link from the right position in `repo-dir' to the package
;; directory in the ELPA store.
@@ -466,6 +478,22 @@ package-vc--archives-initialize
(unless package-vc-archive-data-alist
(package-vc--download-and-read-archives)))
+(defun package-vc-release-rev (pkg-desc)
+ "Find the latest revision that bumps the \"Version\" tag for PKG-DESC.
+If no such revision can be found, return nil."
+ (with-current-buffer (find-file-noselect (package-vc-main-file pkg-desc))
+ (vc-buffer-sync)
+ (save-excursion
+ (goto-char (point-min))
+ (let ((case-fold-search t))
+ (when (re-search-forward (concat (lm-get-header-re "version") ".*$")
+ (lm-code-start) t)
+ (ignore-error vc-not-supported
+ (vc-call-backend (vc-backend (buffer-file-name))
+ 'last-change
+ (match-beginning 0)
+ (match-end 0))))))))
+
;;;###autoload
(defun package-vc-install (name-or-url &optional name rev backend)
"Fetch the source of NAME-OR-URL.
@@ -477,9 +505,11 @@ package-vc-install
metadata will be consulted for the URL. An explicit revision can
be requested using REV. If the command is invoked with a prefix
argument, the revision used for the last release in the package
-archive is used. If a NAME-OR-URL is a URL, that is to say a
-string, the VC backend used to clone the repository can be set by
-BACKEND. If missing, `package-vc-guess-backend' will be used."
+archive is used. This can also be reproduced by passing the
+special value `:last-release' as REV. If a NAME-OR-URL is a URL,
+that is to say a string, the VC backend used to clone the
+repository can be set by BACKEND. If missing,
+`package-vc-guess-backend' will be used."
(interactive
(progn
;; Initialize the package system to get the list of package
@@ -490,11 +520,7 @@ package-vc-install
"Fetch package source (name or URL): " packages))
(name (file-name-base input)))
(list input (intern (string-remove-prefix "emacs-" name))
- (and current-prefix-arg
- (or (package-vc-query-spec
- (cadr (assoc input package-archive-contents #'string=))
- :release-rev)
- (user-error "No release revision was found")))))))
+ (and current-prefix-arg :last-release)))))
(package-vc--archives-initialize)
(cond
((and-let* ((stringp name-or-url)
@@ -511,6 +537,10 @@ package-vc-install
(setf (package-desc-kind copy) 'vc)
copy)
(or (package-vc-desc->spec (cadr desc))
+ (and-let* ((extras (package-desc-extras (cadr desc)))
+ (url (alist-get :url extras))
+ (backend (package-vc-guess-backend url)))
+ (list :vc-backend backend :url url))
(user-error "Package has no VC data"))
rev)))
((user-error "Unknown package to fetch: %s" name-or-url))))
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 6137ce75ce..cd62effd08 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1632,6 +1632,23 @@ vc-git-annotate-extract-revision-at-line
(expand-file-name fname (vc-git-root default-directory))))
revision)))))
+(defun vc-git-last-change (from to)
+ (vc-buffer-sync)
+ (let ((file (file-relative-name
+ (buffer-file-name)
+ (vc-git-root (buffer-file-name))))
+ (start (line-number-at-pos from t))
+ (end (line-number-at-pos to t)))
+ (with-temp-buffer
+ (when (vc-git--out-ok
+ "blame" "--porcelain"
+ (format "-L%d,%d" start end)
+ file)
+ (goto-char (point-min))
+ (save-match-data
+ (when (looking-at "\\`\\([[:alnum:]]+\\)[[:space:]]+")
+ (match-string 1)))))))
+
;;; TAG/BRANCH SYSTEM
(declare-function vc-read-revision "vc"
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 38209ef39e..c8d28c144b 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -448,6 +448,11 @@
;; - mergebase (rev1 &optional rev2)
;;
;; Return the common ancestor between REV1 and REV2 revisions.
+;;
+;; - last-change (from to)
+;;
+;; Return the most recent revision that made a change between FROM
+;; and TO.
;; TAG/BRANCH SYSTEM
;;
@@ -3584,6 +3589,19 @@ vc-clone
remote directory rev)))
(throw 'ok res)))))))
+(declare-function log-view-current-tag "log-view" (&optional pos))
+(defun vc-default-last-change (_backend from to)
+ "Default `last-change' implementation.
+FROM and TO are used as region markers"
+ (save-window-excursion
+ (let* ((buf (window-buffer (vc-region-history from to)))
+ (proc (get-buffer-process buf)))
+ (cl-assert (processp proc))
+ (while (accept-process-output proc))
+ (with-current-buffer buf
+ (prog1 (log-view-current-tag)
+ (kill-buffer))))))
+
\f
;; These things should probably be generally available
--
2.38.0
[-- Attachment #3: Type: text/plain, Size: 353 bytes --]
Invoking `package-vc-install' with a prefix argument will now check out
the specific commit that bumps the version tag. At least for git, the
slight problem here is that this means the head is in a detached state,
not connected to any specific branch. I don't know if there is any
elegant solution to this problem, or if it should even be "solved".
next prev parent reply other threads:[~2022-10-30 13:06 UTC|newest]
Thread overview: 345+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <164484721900.31751.1453162457552427931@vcs2.savannah.gnu.org>
[not found] ` <20220214140020.04438C00891@vcs2.savannah.gnu.org>
2022-02-14 16:20 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Stefan Monnier
2022-02-14 20:57 ` Philip Kaludercic
2022-02-14 21:25 ` Stefan Monnier
2022-02-14 23:44 ` Philip Kaludercic
2022-02-15 2:58 ` Stefan Monnier
2022-02-15 17:13 ` Philip Kaludercic
2022-02-15 18:34 ` Stefan Monnier
2022-02-16 22:49 ` Philip Kaludercic
2022-02-17 2:56 ` Stefan Monnier
2022-02-17 9:21 ` Philip Kaludercic
2022-02-19 16:28 ` Stefan Monnier
2022-02-19 18:35 ` Philip Kaludercic
2022-02-19 20:15 ` Stefan Monnier
2022-02-18 8:57 ` Augusto Stoffel
2022-02-18 14:49 ` Stefan Monnier
2022-10-08 15:47 ` Philip Kaludercic
2022-10-08 15:58 ` Lars Ingebrigtsen
2022-10-08 16:20 ` Philip Kaludercic
2022-10-09 14:21 ` Lars Ingebrigtsen
2022-10-09 14:34 ` Philip Kaludercic
2022-10-09 14:38 ` Lars Ingebrigtsen
2022-10-09 15:17 ` Philip Kaludercic
2022-10-10 8:01 ` Lars Ingebrigtsen
2022-10-10 11:06 ` Philip Kaludercic
2022-10-13 16:37 ` Philip Kaludercic
2022-10-15 20:43 ` Fetching or installing package dev source from VCS: names Richard Stallman
2022-10-16 8:31 ` Philip Kaludercic
2022-10-18 12:05 ` Richard Stallman
2022-10-19 7:04 ` Philip Kaludercic
2022-10-19 12:12 ` Stefan Monnier
2022-10-21 19:39 ` Richard Stallman
2022-10-15 20:43 ` package-contact-maintainer Richard Stallman
2022-10-16 8:35 ` package-contact-maintainer Philip Kaludercic
2022-10-16 9:19 ` package-contact-maintainer Stefan Kangas
2022-10-16 11:02 ` package-contact-maintainer Philip Kaludercic
2022-10-15 20:43 ` Fetching or installing package dev source from VCS: manual style Richard Stallman
2022-10-16 13:30 ` Philip Kaludercic
2022-10-16 19:47 ` Rudolf Adamkovič
2022-10-16 22:33 ` Philip Kaludercic
2022-10-17 22:27 ` Rudolf Adamkovič
2022-10-20 16:46 ` Philip Kaludercic
2022-10-21 17:44 ` Rudolf Adamkovič
2022-10-21 19:19 ` Philip Kaludercic
2022-10-18 12:04 ` Richard Stallman
2022-10-18 14:03 ` Stefan Monnier
2022-10-19 6:58 ` Philip Kaludercic
2022-10-19 11:13 ` Eli Zaretskii
2022-10-21 22:11 ` Philip Kaludercic
2022-10-23 19:11 ` Richard Stallman
2022-10-23 19:11 ` Multiple index entries Richard Stallman
2022-10-23 19:11 ` "Package from Source" Richard Stallman
2022-10-24 16:27 ` Philip Kaludercic
2022-10-26 19:18 ` Richard Stallman
2022-10-23 19:11 ` Installation from ELPA Richard Stallman
2022-10-23 19:14 ` Eli Zaretskii
2022-10-24 19:30 ` Richard Stallman
2022-10-24 13:19 ` Stefan Monnier
2022-10-28 21:57 ` Richard Stallman
2022-10-18 12:05 ` Fetching or installing package dev source from VCS: manual style Richard Stallman
2022-10-18 15:04 ` Eli Zaretskii
2022-10-19 7:02 ` Philip Kaludercic
2022-10-16 22:18 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Philip Kaludercic
2022-10-17 5:25 ` Stefan Kangas
2022-10-17 12:16 ` Stefan Monnier
2022-10-17 17:21 ` Philip Kaludercic
2022-10-17 21:41 ` Stefan Monnier
2022-10-18 20:45 ` Philip Kaludercic
2022-10-18 21:43 ` Stefan Monnier
2022-10-18 20:43 ` Philip Kaludercic
2022-10-18 21:40 ` Stefan Monnier
2022-10-19 7:08 ` Philip Kaludercic
2022-10-19 12:19 ` Stefan Monnier
2022-10-19 12:29 ` Philip Kaludercic
2022-10-19 13:15 ` Stefan Monnier
2022-10-21 21:58 ` Philip Kaludercic
2022-10-21 22:34 ` Stefan Monnier
2022-10-22 10:45 ` Philip Kaludercic
2022-10-22 14:53 ` Stefan Monnier
2022-10-22 15:06 ` Philip Kaludercic
2022-10-23 11:32 ` Philip Kaludercic
2022-10-24 13:00 ` Stefan Monnier
2022-10-24 15:35 ` Philip Kaludercic
2022-10-24 20:21 ` Stefan Monnier
2022-10-24 20:34 ` Philip Kaludercic
2022-10-24 23:57 ` Stefan Monnier
2022-10-26 7:19 ` Philip Kaludercic
2022-10-09 23:14 ` Tim Cross
2022-10-08 16:35 ` Stefan Monnier
2022-10-08 17:18 ` Philip Kaludercic
2022-10-08 19:02 ` Tim Cross
2022-10-09 12:38 ` Philip Kaludercic
2022-10-09 21:36 ` Tim Cross
2022-10-10 22:01 ` Richard Stallman
2022-10-15 15:52 ` Philip Kaludercic
2022-10-15 16:22 ` Eli Zaretskii
2022-10-15 17:14 ` Sean Whitton
2022-10-17 12:17 ` Stefan Monnier
2022-10-16 7:10 ` Dr. Arne Babenhauserheide
2022-10-16 8:15 ` Eli Zaretskii
2022-10-16 9:29 ` tomas
2022-10-16 10:31 ` Eli Zaretskii
2022-10-16 11:32 ` tomas
2022-10-16 22:22 ` Philip Kaludercic
2022-10-17 6:12 ` Eli Zaretskii
2022-10-17 6:27 ` Philip Kaludercic
2022-10-17 6:57 ` Eli Zaretskii
2022-10-17 17:23 ` Philip Kaludercic
2022-10-17 21:44 ` Stefan Monnier
2022-10-18 20:45 ` Philip Kaludercic
2022-10-19 17:02 ` Richard Stallman
2022-10-19 17:06 ` Stefan Monnier
2022-10-24 19:34 ` Richard Stallman
2022-10-20 16:01 ` Philip Kaludercic
2022-10-22 19:59 ` Richard Stallman
2022-10-23 9:04 ` Philip Kaludercic
2022-10-25 20:13 ` Richard Stallman
2022-10-26 7:11 ` Philip Kaludercic
2022-10-26 12:00 ` Stefan Monnier
2022-10-26 15:28 ` Philip Kaludercic
2022-10-26 18:36 ` Stefan Monnier
2022-10-26 18:48 ` Philip Kaludercic
2022-10-26 18:58 ` Stefan Monnier
2022-10-26 19:27 ` Philip Kaludercic
2022-10-26 23:40 ` Stefan Monnier
2022-11-01 16:46 ` Richard Stallman
2022-11-01 17:13 ` Eli Zaretskii
2022-11-01 17:58 ` Philip Kaludercic
2022-11-01 18:35 ` Stefan Kangas
2022-11-01 18:51 ` Eli Zaretskii
2022-11-01 19:04 ` Stefan Monnier
2022-11-01 19:14 ` Eli Zaretskii
2022-11-01 19:26 ` Stefan Kangas
2022-11-01 20:26 ` Stefan Monnier
2022-11-01 22:19 ` Philip Kaludercic
2022-11-02 1:23 ` Stefan Monnier
2022-11-02 1:45 ` Stefan Monnier
2022-11-02 8:01 ` Philip Kaludercic
2022-11-02 12:49 ` Stefan Monnier
2022-11-02 14:44 ` Philip Kaludercic
2022-11-03 3:18 ` Richard Stallman
2022-11-03 14:10 ` Stefan Monnier
2022-11-05 3:13 ` Richard Stallman
2022-11-02 3:32 ` Eli Zaretskii
2022-11-02 8:13 ` Alfred M. Szmidt
2022-11-02 3:25 ` Eli Zaretskii
2022-11-02 10:18 ` Dmitry Gutov
2022-11-02 12:45 ` Stefan Monnier
2022-11-02 13:19 ` Eli Zaretskii
2022-11-02 13:00 ` Eli Zaretskii
2022-11-02 13:16 ` Philip Kaludercic
2022-11-03 3:17 ` Richard Stallman
2022-11-03 14:09 ` Stefan Monnier
2022-11-05 3:13 ` Richard Stallman
2022-10-28 17:24 ` Philip Kaludercic
2022-10-29 15:14 ` Merging feature/package+vc Philip Kaludercic
2022-10-29 15:45 ` Stefan Monnier
2022-10-29 15:39 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Stefan Monnier
2022-10-29 16:00 ` Philip Kaludercic
2022-10-29 16:57 ` Stefan Monnier
2022-10-30 13:06 ` Philip Kaludercic [this message]
2022-10-30 14:00 ` Stefan Monnier
2022-10-30 14:15 ` Philip Kaludercic
2022-10-30 14:36 ` Stefan Monnier
2022-10-30 14:51 ` Philip Kaludercic
2022-10-30 14:59 ` Stefan Monnier
2022-10-30 17:58 ` Philip Kaludercic
2022-10-30 22:08 ` Stefan Monnier
2022-11-04 18:01 ` feature/package-vc has been merged Philip Kaludercic
2022-11-04 19:12 ` Stefan Monnier
2022-11-05 11:13 ` Eli Zaretskii
2022-11-05 16:43 ` Philip Kaludercic
2022-11-05 17:22 ` Eli Zaretskii
2022-11-06 11:43 ` Philip Kaludercic
2022-11-06 12:31 ` Eli Zaretskii
2022-11-06 15:28 ` Philip Kaludercic
2022-11-06 15:37 ` Eli Zaretskii
2022-11-06 15:58 ` Philip Kaludercic
2022-11-06 16:06 ` Eli Zaretskii
2022-11-06 16:42 ` Philip Kaludercic
2022-11-06 17:05 ` Eli Zaretskii
2022-11-06 17:31 ` Philip Kaludercic
2022-11-06 17:37 ` Eli Zaretskii
2022-11-06 18:35 ` Philip Kaludercic
2022-11-06 19:03 ` Eli Zaretskii
2022-11-07 8:42 ` Philip Kaludercic
2022-11-07 12:07 ` Eli Zaretskii
2022-11-07 16:58 ` Philip Kaludercic
2022-11-07 17:07 ` Eli Zaretskii
2022-11-07 17:57 ` Stefan Monnier
2022-11-07 18:10 ` Philip Kaludercic
2022-11-07 18:19 ` Eli Zaretskii
2022-11-08 20:15 ` Philip Kaludercic
2022-11-08 21:35 ` Stefan Monnier
2022-11-09 8:15 ` Philip Kaludercic
2022-11-09 12:41 ` Eli Zaretskii
2022-11-09 17:15 ` Philip Kaludercic
2022-11-09 17:49 ` Stefan Monnier
2022-11-09 18:00 ` Philip Kaludercic
2022-11-09 18:33 ` Stefan Monnier
2022-11-09 19:04 ` Philip Kaludercic
2022-11-09 19:53 ` Stefan Monnier
2022-11-09 20:32 ` Philip Kaludercic
2022-11-09 21:21 ` Stefan Monnier
2022-11-09 21:33 ` Philip Kaludercic
2022-11-16 15:23 ` Stefan Monnier
2022-11-16 15:56 ` Philip Kaludercic
2022-11-16 17:29 ` Stefan Monnier
2022-11-16 17:57 ` Philip Kaludercic
2022-11-16 20:05 ` Stefan Monnier
2022-11-16 22:09 ` Philip Kaludercic
2022-11-16 23:23 ` Stefan Monnier
2022-11-17 16:41 ` Philip Kaludercic
2022-11-16 23:26 ` Stefan Monnier
2022-11-09 19:05 ` Updating the "ELPA Protocol" Philip Kaludercic
2022-11-15 19:58 ` Philip Kaludercic
2022-11-15 20:41 ` Stefan Kangas
2022-11-16 7:35 ` Philip Kaludercic
2022-11-16 7:54 ` Stefan Kangas
2022-11-16 15:07 ` Stefan Monnier
2022-11-16 15:32 ` Philip Kaludercic
2022-11-16 16:46 ` Stefan Monnier
2022-11-16 16:59 ` Philip Kaludercic
2022-11-16 17:42 ` Jonas Bernoulli
2022-11-16 18:04 ` Jonas Bernoulli
2022-11-16 19:20 ` Stefan Monnier
2022-11-18 14:20 ` Jonas Bernoulli
2022-11-07 1:30 ` feature/package-vc has been merged Stefan Monnier
2022-11-07 3:29 ` Eli Zaretskii
2022-11-07 4:43 ` Stefan Monnier
2022-11-07 11:48 ` Eli Zaretskii
2022-11-08 8:54 ` Stefan Kangas
2022-11-08 21:57 ` Philip Kaludercic
2022-11-08 7:15 ` Philip Kaludercic
2022-11-08 8:46 ` Stefan Kangas
2022-11-08 20:21 ` Philip Kaludercic
2022-11-09 6:51 ` Björn Bidar
2022-11-09 7:07 ` Philip Kaludercic
2022-11-09 7:23 ` Björn Bidar
2022-11-09 8:27 ` Philip Kaludercic
2022-11-09 11:03 ` Björn Bidar
2022-11-09 17:45 ` Philip Kaludercic
2022-11-09 20:18 ` Björn Bidar
2022-11-09 20:39 ` Philip Kaludercic
2022-11-11 4:34 ` Richard Stallman
2022-11-11 6:43 ` Philip Kaludercic
2022-11-12 3:36 ` Richard Stallman
2022-11-11 18:44 ` Björn Bidar
2022-11-11 19:46 ` tomas
2022-11-12 3:38 ` Richard Stallman
2022-11-12 6:30 ` Björn Bidar
2022-11-12 8:10 ` Eli Zaretskii
2022-11-12 13:03 ` Björn Bidar
2022-11-12 13:03 ` Björn Bidar
2022-11-12 7:45 ` Philip Kaludercic
2022-11-12 13:01 ` Björn Bidar
2022-11-12 13:15 ` Eli Zaretskii
2022-11-12 13:41 ` Björn Bidar
2022-11-12 14:15 ` Eli Zaretskii
2022-11-12 13:23 ` Po Lu
2022-11-12 13:40 ` Philip Kaludercic
2022-11-13 14:34 ` Björn Bidar
2022-11-13 15:16 ` Stefan Monnier
2022-11-13 18:18 ` Björn Bidar
2022-11-13 15:53 ` Philip Kaludercic
2022-11-13 17:56 ` Björn Bidar
2022-11-13 18:08 ` Philip Kaludercic
2022-11-13 20:20 ` Björn Bidar
2022-11-13 20:54 ` Philip Kaludercic
2022-11-13 22:19 ` Björn Bidar
2022-11-14 5:37 ` tomas
2022-11-09 6:44 ` Björn Bidar
2022-11-09 7:02 ` Philip Kaludercic
2022-11-09 7:19 ` Björn Bidar
2022-11-09 8:26 ` Philip Kaludercic
2022-11-09 10:52 ` Björn Bidar
2022-11-09 17:41 ` Stefan Monnier
2022-11-09 20:16 ` Björn Bidar
2022-11-09 21:10 ` Stefan Monnier
2022-11-09 23:40 ` Björn Bidar
2022-11-10 0:11 ` Stefan Monnier
2022-11-10 7:23 ` Eli Zaretskii
2022-11-09 17:44 ` Philip Kaludercic
2022-11-09 20:05 ` Björn Bidar
2022-11-09 20:45 ` Philip Kaludercic
2022-11-09 23:33 ` Björn Bidar
2022-11-10 0:03 ` Stefan Monnier
2022-11-09 17:25 ` Stefan Monnier
2022-11-09 17:35 ` Philip Kaludercic
2022-11-09 18:22 ` Stefan Monnier
2022-11-05 23:00 ` Rudolf Adamkovič
2022-11-06 0:23 ` Rudolf Adamkovič
2022-11-06 8:15 ` Philip Kaludercic
2022-11-07 0:58 ` Rudolf Adamkovič
2022-11-07 8:30 ` Philip Kaludercic
2022-11-07 23:17 ` Rudolf Adamkovič
2022-11-08 21:53 ` Philip Kaludercic
2022-11-09 0:44 ` Rudolf Adamkovič
2022-11-09 7:09 ` Philip Kaludercic
2022-11-09 8:54 ` Philip Kaludercic
2022-11-09 23:52 ` Rudolf Adamkovič
2022-11-10 18:18 ` Philip Kaludercic
2022-11-10 18:26 ` Stefan Monnier
2022-11-10 19:44 ` Philip Kaludercic
2022-11-10 18:29 ` Philip Kaludercic
2022-11-12 0:32 ` Rudolf Adamkovič
2022-11-12 7:59 ` Philip Kaludercic
2022-11-12 22:57 ` Rudolf Adamkovič
2022-11-13 0:01 ` Rudolf Adamkovič
2022-11-13 1:38 ` Stefan Monnier
2022-11-13 21:42 ` Rudolf Adamkovič
2022-11-13 3:00 ` Stefan Kangas
2022-11-13 22:20 ` Rudolf Adamkovič
2022-11-13 7:01 ` Philip Kaludercic
2022-11-13 22:11 ` Rudolf Adamkovič
2022-11-14 11:41 ` Philip Kaludercic
2022-11-13 0:16 ` Philip Kaludercic
2022-10-30 15:55 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Philip Kaludercic
2022-10-31 8:23 ` Philip Kaludercic
2022-10-31 11:56 ` Stefan Monnier
2022-10-31 14:23 ` Philip Kaludercic
2022-10-26 18:22 ` Philip Kaludercic
2022-10-26 18:40 ` Stefan Monnier
2022-10-26 18:41 ` Philip Kaludercic
2022-10-26 18:59 ` Stefan Monnier
2022-11-01 16:46 ` Richard Stallman
2022-11-01 18:27 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VACS Philip Kaludercic
2022-11-01 19:06 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Stefan Monnier
2022-11-01 16:46 ` Not a prefix arg Richard Stallman
2022-11-01 11:10 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Richard Stallman
2022-11-01 14:54 ` Philip Kaludercic
2022-11-03 3:17 ` Richard Stallman
2022-11-03 15:18 ` Philip Kaludercic
2022-11-03 18:39 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VACS Philip Kaludercic
2022-11-05 3:14 ` feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Richard Stallman
2022-11-05 7:15 ` Philip Kaludercic
2022-11-05 11:14 ` Eli Zaretskii
2022-11-05 11:21 ` Philip Kaludercic
2022-11-05 12:33 ` Eli Zaretskii
2022-11-05 16:45 ` Philip Kaludercic
2022-11-03 3:17 ` Richard Stallman
2022-10-25 20:13 ` Richard Stallman
2022-10-26 6:49 ` Philip Kaludercic
2022-10-23 17:04 ` Philip Kaludercic
2022-11-16 18:23 ` Jonas Bernoulli
2022-11-16 20:01 ` Philip Kaludercic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ilk1bgvd.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).