From: Adam Porter <adam@alphapapa.net>
To: Philip Kaludercic <philipk@posteo.net>,
Joseph Turner <joseph@breatheoutbreathe.in>
Cc: Emacs Devel Mailing List <emacs-devel@gnu.org>
Subject: Re: [package-vc] Consider cleaning up files from install process
Date: Tue, 19 Sep 2023 07:19:21 -0500 [thread overview]
Message-ID: <445b1a43-23a8-f6f3-08f6-82db6ed4adc6@alphapapa.net> (raw)
In-Reply-To: <87h6nqbkmq.fsf@posteo.net>
I noticed this problem myself when I first tried using package-vc-install.
An alternative would be to follow Quelpa's example: rather than loading
the package directly from the git repository's directory, the package's
files could be copied into a new directory in the elpa/ directory, and
Emacs could load the package from there.
As a developer, I would prefer that approach, because I don't usually
want Emacs to load whatever commit I may have checked out in a package's
repository. I want to install a commit of a package into my Emacs
configuration and have that one loaded until I install a different one.
In other words, the way package-vc-install currently works leaves me
vulnerable to this scenario:
1. I use package-vc-install to install one of my packages from its
local repository directory.
2. I check out a feature branch of that package to work on a new
feature, saving some files but not loading any of the changed code.
3. I restart Emacs (e.g. maybe I shut down the system and turned it
back on the next day).
4. That work-in-progress feature branch of my package gets loaded into
Emacs automatically (which may be entirely broken, being a WIP).
Whereas if I use Quelpa, it installs the files a package's recipe
specifies into the expected location in the elpa/ directory, and that
remains independent of whatever I may have checked out in the package's
local git directory. My Emacs configuration and installed packages
remain consistent regardless of whatever in-between state I may have
left a package's repository in.
Philip, would you be willing to consider switching to that model for
package-vc-install, or offering it as an option?
Thanks,
Adam
next prev parent reply other threads:[~2023-09-19 12:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-19 7:24 [package-vc] Consider cleaning up files from install process Joseph Turner
2023-09-19 9:03 ` Philip Kaludercic
2023-09-19 12:19 ` Adam Porter [this message]
2023-09-19 13:50 ` Philip Kaludercic
2023-09-19 14:34 ` Adam Porter
2023-09-20 8:13 ` Philip Kaludercic
2023-10-07 7:52 ` Adam Porter
2023-10-07 13:31 ` Philip Kaludercic
2023-09-20 12:13 ` Stefan Monnier via Emacs development discussions.
2023-09-20 12:08 ` Stefan Monnier via Emacs development discussions.
2023-09-20 12:03 ` Stefan Monnier via Emacs development discussions.
-- strict thread matches above, loose matches on Subject: below --
2023-10-04 8:11 Joseph Turner
2023-10-04 8:22 Joseph Turner
2023-10-04 8:31 Joseph Turner
2023-10-04 15:23 ` Philip Kaludercic
2023-10-04 18:54 ` Joseph Turner
2023-10-06 9:00 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=445b1a43-23a8-f6f3-08f6-82db6ed4adc6@alphapapa.net \
--to=adam@alphapapa.net \
--cc=emacs-devel@gnu.org \
--cc=joseph@breatheoutbreathe.in \
--cc=philipk@posteo.net \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.