Conversation
ecf49fe to
2a7dafd
Compare
|
LOL, sure, I will do it this weekend. |
|
thanks @dborzov :) also, @inconshreveable made this: https://github.com/inconshreveable/go-update which could be pretty useful. I think though that for that sort of update, it should:
|
|
@jbenet go-update has built-in support for signing and validating releases |
|
@inconshreveable oh great! i somehow missed that, thanks 👍 |
609a71b to
5fafaa4
Compare
2583167 to
1e70e7e
Compare
|
Hey, so I am halfway through the rebase. The key changes:
|
|
Will try to use go-update for the actual updating. Maybe in a separate pull-request? |
|
I think the best place for any code relating to the updating (CheckForUpdates()) should live in its own package, maybe in the root as "updates" or in "config/updates" |
|
@dborzov all this sgtm.
This is a fine place for now. Later on it can be in different common location for the
Agreed. i'd go for |
cmd/ipfs/init.go
Outdated
There was a problem hiding this comment.
maybe these values ("error", "ignore", etc) should be constants in the update package:
const CheckError = "error"
const CheckIgnore = "ignore"
...|
@whyrusleeping , @jbenet thanks for the feedback and CR. I updated the thing with all the changes you suggested. |
|
Being able to actually update |
There was a problem hiding this comment.
@dborzov this should probably not fail if the -c flag is provided to a run, which we don't know about here. I'll leave this in for now, until the -c flag works throughout commands. (doesn't atm i think)
config/config.go
Outdated
There was a problem hiding this comment.
should we lowercase all config var names? the capitalized json is certainly odd-looking, but more admittedly more readable
There was a problem hiding this comment.
Will remove the lower case tags for now for consistency.
Not to bikeshed over this too much, but the obvious future for config files format is probably toml and we will need to adopt it at some point IMHO.
There was a problem hiding this comment.
i love all cases equally, i dont discriminate.
There was a problem hiding this comment.
Also, you dont have to specify the lower case tag names, if your struct field is "Test" and in json its "test", go figures it out just fine.
|
@dborzov sorry for extra comments after you thought we were all set! but i think these will help the UX of the updates. |
* master: (107 commits) bugfixes to prev commit u.DOut -> log.Debug fixed resolver test ipfs name cmd improvements Skip ipns_test.TestMultiWrite in darwin skip ipns fuse tests in travis add another test to try and reproduce data loss issue add in some extra debug logging, and increase routing table latencies comment out debug msg use encoded (pretty) keys only on fs ds make vendor is your friend keytransform ds Rework package structure for unixfs and subpackage update error handling in ipns add more comments! vendor things New NameSystem interface deprecate merkledag.Node.Update ipns TestFastRepublish init SetupLoggers ... Conflicts resolved: cmd/ipfs/gen.go cmd/ipfs/ipfs.go config/config.go
…P request time delay
|
@jbenet ok, added these changes too |
|
@dborzov ok, everything LGTM! thank you! I'll handle this merge later today, as tests failing, etc. |
|
Merged in 16b5345 |
|
Thank you @dborzov! |
feat: add a test server

This PR makes
ipfsreach the Github API endpoint for the list of this repo's git tags on every run. It then attempts to read the tag names assemverversion labels and compares them to the running one (defined as aVersionconst literal incmd/ipfs/version.go).If the running version is older than the most recent available, the error message is shown (suggesting strongly to update) and the program exits.
This behaviour can be changed with
updates.checkflag in the config file.ignoreandwarnvalues are supported.Please also note the related issue.