unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Philip Kaludercic <philipk@posteo.net>
To: Adam Porter <adam@alphapapa.net>
Cc: Joseph Turner <joseph@breatheoutbreathe.in>,
	 Emacs Devel Mailing List <emacs-devel@gnu.org>
Subject: Re: [package-vc] Consider cleaning up files from install process
Date: Tue, 19 Sep 2023 13:50:23 +0000	[thread overview]
Message-ID: <87cyyeb7c0.fsf@posteo.net> (raw)
In-Reply-To: <445b1a43-23a8-f6f3-08f6-82db6ed4adc6@alphapapa.net> (Adam Porter's message of "Tue, 19 Sep 2023 07:19:21 -0500")

Adam Porter <adam@alphapapa.net> writes:

> 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.

Isn't this workflow already supported by `package-install-file'?  And
otherwise, there wouldn't be much of a point to just replicate the
functionality of an existing package manager.

> 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).

I understand your issue, but anecdotally, I can also give an example
where I wanted to change some functionality, by M-x find-function'ing
the source buffer and then loosing the change after upgrading the
package.

> 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?

Can you describe the interface you are imagining.  From what I
understand, it should be possible to reproduce what you need by
combining `package-vc-checkout' and `package-install-file'?

> Thanks,
> Adam



  reply	other threads:[~2023-09-19 13:50 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
2023-09-19 13:50     ` Philip Kaludercic [this message]
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

  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=87cyyeb7c0.fsf@posteo.net \
    --to=philipk@posteo.net \
    --cc=adam@alphapapa.net \
    --cc=emacs-devel@gnu.org \
    --cc=joseph@breatheoutbreathe.in \
    /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).