bmatsuo / jqsh

An interactive wrapper to the jq command line utility
MIT License
23 stars 2 forks source link

Self-update #17

Closed bmatsuo closed 10 years ago

bmatsuo commented 10 years ago

It would be nice if the tool could update itself. The least intrusive thing would be for the user to initiate a check with a flag.

In the future it may be interesting if a message was displayed on startup. The twist is that the check absolutely cannot be synchronous to startup.

edit: a new ticket will be opened to address the issue of checking for notifications with a flag.

bmatsuo commented 10 years ago

go-update -- I saw the talk on this package at GopherCon. Seems pretty cool. The potential for a completely broken state is worrisome though. I'm not sure what the equinox.io service provides... really... compared to tags and github releases as a distribution channel.

Also go-selfupdate -- Not sure about this. Ideally hosting is free. S3 is not free (especially after this gets wildly popular :wink:).

Binary patches worry me. A binary replacing itself worries me without a mature, vetted solution extensively tested in the wild. How do I know when I release a binary that it will successfully detect and update to the next binary?

Homebrew is pretty good about keeping up to date with command line utilities. If this tool were to end up there it would be great and there would be no issues on OS X. On Ubuntu, there are PPAs. The Ubuntu apt repository is unfortunately quite slow to pick up new versions, potentially requiring a dist-upgrade. But once things get a ways past 1.0 it would probably be fine for it to end up there.

The one addition that would be nice to have is the ability to check for updates. Once there is state persisted between jqsh sessions this could be done in the background and messaged non-intrusively on startup.