ScoopInstaller / Scoop

A command-line installer for Windows.
https://scoop.sh
Other
20.92k stars 1.39k forks source link

[FeatureRequest] Previous Version Alternative using git history #3894

Open JustinGrote opened 4 years ago

JustinGrote commented 4 years ago

Currently if you want to install a previous version, scoop tries to autogenerate a manifest to see if it works, however there may be breaking changes between versions in the manifest that won't allow this.

However, there is a practical alternative:

  1. I specify scoop install zookeeper@3.6.0
  2. scoop does git log -p <manifest>.json and extracts a list of previous versions based on the version.json, since it would have changed every commit
  3. If one of the versions matches, it retrieves that version of the file from the repository and uses that manifest.

It doesn't guarantee the file download would still exist of course, but it would allow a more traditional way of accessing past versions.

Dabombber commented 4 years ago

The problem with this is if past manifests were broken and the fix also included a version bump.

I think it'd be far simpler and more reliable to have a legacy property similar to how architecture works, but instead of 32bit|64bit you'd have a version(s). But even that has a whole lot of problems to deal with for a fairly limited feature.

Maybe the best solution would be to request its addition to the versions bucket?

ClassicDarkChocolate commented 2 years ago

You might wanna check this. I wrote a custom script letting user installs package for specific version/commit.

https://github.com/ScoopInstaller/Scoop/issues/3045#issuecomment-1138042773

riotrah commented 1 year ago

I think scoop supporting this would be the closest thing to sadf-vm on windows, something I sorely miss from other OSes. I would highly, highly, request the implementation of this feature. Perhaps it could be considered an experimental or "at your own risk" feature. I don't want to be ungrateful of course, but just wanted to throw a vote into the pool