respect cfg.Version.Check
Henry committed
Oct 20, 2014 at 19:24 UTC
0115d1e0de9df033ff37a812cb361b546f54f633
1 file changed
+22
-18
cmd/ipfs/ipfs.go
+22
-18
@@ -133,26 +133,30 @@ func localNode(confdir string, online bool) (*core.IpfsNode, error) {
133
u, err := updates.CheckForUpdate()
134
if err != nil {
135
if err != check.NoUpdateAvailable {
136
- log.Error("Error while checking for update: %v\n", err)
137
- return nil, err
138
- }
139
- log.Notice("No update available, checked on %s", time.Now())
140
- }
141
-
142
- config.RecordUpdateCheck(cfg, filename)
143
-
144
- if u != nil && cfg.Version.AutoUpdate != config.UpdateNever {
145
- if updates.ShouldAutoUpdate(cfg.Version.AutoUpdate, u.Version) {
146
- log.Notice("Applying update %s", u.Version)
147
-
148
- if err = updates.Apply(u); err != nil {
149
- log.Error(err.Error())
136
+ if cfg.Version.Check == config.CheckError {
137
+ log.Error("Error while checking for update: %v\n", err)
138
return nil, err
139
}
152
-
153
- // BUG(cryptix): no good way to restart yet. - tracking https://github.com/inconshreveable/go-update/issues/5
154
- fmt.Println("update %v applied. please restart.", u.Version)
155
- os.Exit(0)
140
+ // when "warn" version.check mode we just show a warning message
141
+ log.Warning(err.Error())
142
+ } else { // err == check.NoUpdateAvailable
143
+ log.Notice("No update available, checked on %s", time.Now())
144
+ config.RecordUpdateCheck(cfg, filename)
145
+ }
146
+ } else { // update avail
147
+ if cfg.Version.AutoUpdate != config.UpdateNever {
148
+ if updates.ShouldAutoUpdate(cfg.Version.AutoUpdate, u.Version) {
149
+ log.Notice("Applying update %s", u.Version)
150
+
151
+ if err = updates.Apply(u); err != nil {
152
+ log.Error(err.Error())
153
+ return nil, err
154
+ }
155
+
156
+ // BUG(cryptix): no good way to restart yet. - tracking https://github.com/inconshreveable/go-update/issues/5
157
+ fmt.Println("update %v applied. please restart.", u.Version)
158
+ os.Exit(0)
159
+ }
160
}
161
}
162
}