Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update specific packages without re-installing everything #527

Closed
jorgebucaran opened this issue Feb 23, 2019 · 3 comments
Closed

Update specific packages without re-installing everything #527

jorgebucaran opened this issue Feb 23, 2019 · 3 comments
Labels
enhancement New feature or bug fix
Milestone

Comments

@jorgebucaran
Copy link
Owner

jorgebucaran commented Feb 23, 2019

Let's add a new command to update packages: fisher update <package...>.

Why? Sometimes you want to update one or more packages without re-installing everything. One of such cases is when developing a local package. After doing it a few times, even waiting a few milliseconds can be annoying.

Using update will download only the specified packages and their dependency trees, reducing the total number of network requests. Updating a package should not trigger a pkg_uninstall event (#526).

Still on the table is whether we should emit a new event like pkg_update. Should we also emit a pkg_install event for newly added packages?

I'm not too keen on adding new events, but maintaining consistency is one argument in their favor. If I decide to add them, they'll probably come in a future minor release after 3.3.0. Coming in 4.0.

@jorgebucaran jorgebucaran added the enhancement New feature or bug fix label Feb 23, 2019
@jorgebucaran jorgebucaran added this to the 3.3.0 milestone Feb 23, 2019
@tsdh
Copy link

tsdh commented Dec 31, 2019

Will that also allow for a more safe update mode? The single complaint I have with just running fisher is that it leaves you with a broken setup in case you run it on a wonky network where deleting everything works but fetching and reinstalling won't. It would be much better if it would first download to a temporary location and then remove and install.

Also a question related to this issue: it would be interesting to know if an update was a real update or the same version has simply been reinstalled.

@jorgebucaran
Copy link
Owner Author

It would be much better if it would first download to a temporary location and then remove and install.

Hmm, interesting! Thanks for the idea.

it would be interesting to know if an update was a real update or the same version has simply been reinstalled.

I agree that it would, but that's not part of my plan this time. Thanks for the suggestion, though!

@jorgebucaran jorgebucaran modified the milestone: 4.0.0 Nov 2, 2020
jorgebucaran added a commit that referenced this issue Nov 2, 2020
`_update`. Starting with 4.0 plugin authors should
be able to reliably know when their plugin is installed,
updated, or uninstalled. Related #526, #527 #573.

- Remove "some" OMF plugin support (it won't go away completely
since more than less of OMF plugins actually work fine).
This means fully deprecating `init.fish`, `uninstall.fish`,
etc. So long, and thanks for all the fish! Related: #581

- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.

Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
jorgebucaran added a commit that referenced this issue Nov 2, 2020
- Introduce event system. #526, #527 #573.
- Deprecate `init.fish`, `uninstall.fish`, etc. #581
- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.
- Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
@jorgebucaran jorgebucaran mentioned this issue Nov 2, 2020
jorgebucaran added a commit that referenced this issue Nov 4, 2020
- Introduce new event system. #526, #527 #573.
- Deprecate `init.fish`, `uninstall.fish`, etc. #581
- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.
- Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
@jorgebucaran
Copy link
Owner Author

Implemented in 4.x. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or bug fix
Projects
None yet
Development

No branches or pull requests

2 participants