elpaca icon indicating copy to clipboard operation
elpaca copied to clipboard

[Feature]: Roll back to previous packages version

Open jumper047 opened this issue 1 year ago • 2 comments

Feature Description

As far as I know, Straight.el has command straight-freeze-version. Is similar feature planned for Elpaca? Ideally, I would love to have ability to roll back packages versions to ones before last upgrade

Confirmation

  • [X] The feature I'm proposing does not already exist in Elpaca

jumper047 avatar Oct 31 '22 22:10 jumper047

Is similar feature planned for Elpaca?

Yes. The elpaca-write-lockfile and elpaca-load-lockfile commands are stubbed out in elpaca.el. I'm still considering some aspects of the design.

I would love to have ability to roll back packages versions to ones before last upgrade

My plan is to make general commands that would make this easy to do. I don't know if I'll provide a "roll back to the the versions just before an update" command specifically, but it will be easy to write one.

progfolio avatar Nov 01 '22 07:11 progfolio

It would be nice if these things would be supported:

  • A command to write the current hash for a single package
  • A key to manually ignore a dirty work tree when processing packages and just write the hash
  • A setting to automatically ignore a dirty worktree for certain packages (my main reason for wanting this is that the first Emacs packages I wrote have a lot of unused files I need to clean up but haven't had the time to; I also have todo files in some repos I'd like to clean and add at some point rather than .gitignore)
  • An option to to print using lv or something else (so messages/prompts persist even if something else prints to the echo area)
  • Some command to validate a configuration/lockfile. Sometimes a recipe (normally a custom one) is no longer valid due to the repo moving, for example. I've even seen a couple cases where a hash was no longer valid due to force pushes to master... It may be overkill/unreasonable for elpaca to do this. You can validate manually by running Emacs with a different home directory, for example.

noctuid avatar Mar 08 '23 20:03 noctuid