Преглед изворни кода

lib/config: Don't require restart when adding folders/devices or changing listen address

The VersioningConfig change is because it defaults to nil but gets
deserialized to map[string]string{}. Now prepare() enforces a single
representation of the empty map.

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3065
Jakob Borg пре 9 година
родитељ
комит
8b7b0a03eb
2 измењених фајлова са 5 додато и 0 уклоњено
  1. 4 0
      lib/config/folderconfiguration.go
  2. 1 0
      lib/model/model.go

+ 4 - 0
lib/config/folderconfiguration.go

@@ -138,6 +138,10 @@ func (f *FolderConfiguration) prepare() {
 	} else if f.RescanIntervalS < 0 {
 		f.RescanIntervalS = 0
 	}
+
+	if f.Versioning.Params == nil {
+		f.Versioning.Params = make(map[string]string)
+	}
 }
 
 func (f *FolderConfiguration) cleanedPath() string {

+ 1 - 0
lib/model/model.go

@@ -2018,6 +2018,7 @@ func (m *Model) CommitConfiguration(from, to config.Configuration) bool {
 	// by themselves.
 	from.Options.URAccepted = to.Options.URAccepted
 	from.Options.URUniqueID = to.Options.URUniqueID
+	from.Options.ListenAddresses = to.Options.ListenAddresses
 	// All of the other generic options require restart. Or at least they may;
 	// removing this check requires going through those options carefully and
 	// making sure there are individual services that handle them correctly.