Przeglądaj źródła

cmd/syncthing: Don't rewrite config on startup unless necessary (#5399)

Jakob Borg 7 lat temu
rodzic
commit
c8123bda28
1 zmienionych plików z 8 dodań i 5 usunięć
  1. 8 5
      cmd/syncthing/main.go

+ 8 - 5
cmd/syncthing/main.go

@@ -840,13 +840,16 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
 
 	if opts := cfg.Options(); IsCandidate {
 		l.Infoln("Anonymous usage reporting is always enabled for candidate releases.")
-		opts.URAccepted = usageReportVersion
-		cfg.SetOptions(opts)
-		cfg.Save()
-		// Unique ID will be set and config saved below if necessary.
+		if opts.URAccepted != usageReportVersion {
+			opts.URAccepted = usageReportVersion
+			cfg.SetOptions(opts)
+			cfg.Save()
+			// Unique ID will be set and config saved below if necessary.
+		}
 	}
 
-	if opts := cfg.Options(); opts.URUniqueID == "" {
+	// If we are going to do usage reporting, ensure we have a valid unique ID.
+	if opts := cfg.Options(); opts.URAccepted > 0 && opts.URUniqueID == "" {
 		opts.URUniqueID = rand.String(8)
 		cfg.SetOptions(opts)
 		cfg.Save()