// printConfigChangeHelp checks if conf contains obsolete keys, // and prints additional help in this case. func printConfigChangeHelp(conf jsonconfig.Obj) { // rename maps from old key names to the new ones. // If there is no new one, the value is the empty string. rename := map[string]string{ "keyId": "identity", "publicKeyBlobref": "", "selfPubKeyDir": "", "secretRing": "identitySecretRing", } oldConfig := false configChangedMsg := fmt.Sprintf("The client configuration file (%s) keys have changed.\n", osutil.UserClientConfigPath()) for _, unknown := range conf.UnknownKeys() { for k, v := range rename { if unknown == k { if v != "" { configChangedMsg += fmt.Sprintf("%q should be renamed %q.\n", k, v) } else { configChangedMsg += fmt.Sprintf("%q should be removed.\n", k) } oldConfig = true break } } } if oldConfig { configChangedMsg += "Please see http://camlistore.org/docs/client-config, or use camput init to recreate a default one." log.Print(configChangedMsg) } }