-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Version self-checking against a remote is a feature that we should add to this project going forward, and the ability to do this quickly and asynchronously is critical to implementing a clean user-facing interface.
In general, I want to implement a suite of configuration files and shell scripts in this project for self-checking the current version installed against some remote. In the event of an outdated installation, the user would be prompted to update. This brings about the following questions:
-
Do we want to support non-standard installation of
dot? I say no, and I'm pretty sure all of the other collaborators would agree. Anyone who does not install the project through a standard installation vector assumes their own responsibility for keeping things running stably. Standard installation vectors are as follows:git clone-ing our project onto a client machine. (--shallowis within the realm of possibility, which may result in loss of tags.)- Downloading a tarball of the project at a given release.
- In both cases above, the installation will include a full bundle of the
.emacs.dtree and any shell configurations we bring in, as well as the centralVERSIONfile at the root of the project. This can be a good fallback.
-
When do we want to prompt people to update
dot? I say: every time the user starts a dot component, this self-check should execute, and in long-running situations e.g. Emacs being open for days on end, daily timers should be run also. We should store the last update check timestamp in a readable file that everything can easily parse, so that multiple checks don't happen on top of each other. -
How do we want to execute remote scripts?