From ad9ea073090524743c60bd598d75a71e601b4905 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sat, 21 Mar 2015 15:33:31 +0100 Subject: [PATCH 1/2] Set defaults correctly for autoNormalize The default:"foo" struct tags aren't actually used for folder configs. --- .../core/controllers/syncthingController.js | 4 +++- internal/auto/gui.files.go | 2 +- internal/config/config.go | 23 ++++++++++++++----- internal/config/config_test.go | 1 + internal/config/testdata/v10.xml | 12 ++++++++++ 5 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 internal/config/testdata/v10.xml diff --git a/gui/scripts/syncthing/core/controllers/syncthingController.js b/gui/scripts/syncthing/core/controllers/syncthingController.js index d7a1f180..d60298db 100644 --- a/gui/scripts/syncthing/core/controllers/syncthingController.js +++ b/gui/scripts/syncthing/core/controllers/syncthingController.js @@ -922,7 +922,7 @@ angular.module('syncthing.core') $scope.currentFolder.staggeredMaxAge = 365; } $scope.currentFolder.externalCommand = $scope.currentFolder.externalCommand || ""; - + $scope.editingExisting = true; $scope.folderEditor.$setPristine(); $('#editFolder').modal(); @@ -939,6 +939,7 @@ angular.module('syncthing.core') $scope.currentFolder.staggeredCleanInterval = 3600; $scope.currentFolder.staggeredVersionsPath = ""; $scope.currentFolder.externalCommand = ""; + $scope.currentFolder.autoNormalize = true; $scope.editingExisting = false; $scope.folderEditor.$setPristine(); $('#editFolder').modal(); @@ -959,6 +960,7 @@ angular.module('syncthing.core') $scope.currentFolder.staggeredCleanInterval = 3600; $scope.currentFolder.staggeredVersionsPath = ""; $scope.currentFolder.externalCommand = ""; + $scope.currentFolder.autoNormalize = true; $scope.editingExisting = false; $scope.folderEditor.$setPristine(); $('#editFolder').modal(); diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index b1686f35..8960e9eb 100644 --- a/internal/auto/gui.files.go +++ b/internal/auto/gui.files.go @@ -192,7 +192,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["scripts/syncthing/core/controllers/eventController.js"] = bs - bs, _ = base64.StdEncoding.DecodeString("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") + bs, _ = base64.StdEncoding.DecodeString("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") gr, _ = gzip.NewReader(bytes.NewReader(bs)) bs, _ = ioutil.ReadAll(gr) assets["scripts/syncthing/core/controllers/syncthingController.js"] = bs diff --git a/internal/config/config.go b/internal/config/config.go index ba9aa3ca..c194c851 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -27,7 +27,7 @@ import ( var l = logger.DefaultLogger -const CurrentVersion = 9 +const CurrentVersion = 10 type Configuration struct { Version int `xml:"version,attr" json:"version"` @@ -48,14 +48,14 @@ type FolderConfiguration struct { Path string `xml:"path,attr" json:"path"` Devices []FolderDeviceConfiguration `xml:"device" json:"devices"` ReadOnly bool `xml:"ro,attr" json:"readOnly"` - RescanIntervalS int `xml:"rescanIntervalS,attr" json:"rescanIntervalS" default:"60"` + RescanIntervalS int `xml:"rescanIntervalS,attr" json:"rescanIntervalS"` IgnorePerms bool `xml:"ignorePerms,attr" json:"ignorePerms"` - AutoNormalize bool `xml:"autoNormalize,attr" json:"autoNormalize" default:"true"` + AutoNormalize bool `xml:"autoNormalize,attr" json:"autoNormalize"` Versioning VersioningConfiguration `xml:"versioning" json:"versioning"` LenientMtimes bool `xml:"lenientMtimes" json:"lenientMTimes"` - Copiers int `xml:"copiers" json:"copiers" default:"1"` // This defines how many files are handled concurrently. - Pullers int `xml:"pullers" json:"pullers" default:"16"` // Defines how many blocks are fetched at the same time, possibly between separate copier routines. - Hashers int `xml:"hashers" json:"hashers" default:"0"` // Less than one sets the value to the number of cores. These are CPU bound due to hashing. + Copiers int `xml:"copiers" json:"copiers"` // This defines how many files are handled concurrently. + Pullers int `xml:"pullers" json:"pullers"` // Defines how many blocks are fetched at the same time, possibly between separate copier routines. + Hashers int `xml:"hashers" json:"hashers"` // Less than one sets the value to the number of cores. These are CPU bound due to hashing. Invalid string `xml:"-" json:"invalid"` // Set at runtime when there is an error, not saved @@ -315,6 +315,9 @@ func (cfg *Configuration) prepare(myID protocol.DeviceID) { if cfg.Version == 8 { convertV8V9(cfg) } + if cfg.Version == 9 { + convertV9V10(cfg) + } // Hash old cleartext passwords if len(cfg.GUI.Password) > 0 && cfg.GUI.Password[0] != '$' { @@ -406,6 +409,14 @@ func ChangeRequiresRestart(from, to Configuration) bool { return false } +func convertV9V10(cfg *Configuration) { + // Enable auto normalization on existing folders. + for i := range cfg.Folders { + cfg.Folders[i].AutoNormalize = true + } + cfg.Version = 10 +} + func convertV8V9(cfg *Configuration) { // Compression is interpreted and serialized differently, but no enforced // changes. Still need a new version number since the compression stuff diff --git a/internal/config/config_test.go b/internal/config/config_test.go index e7f6600c..98192af9 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -83,6 +83,7 @@ func TestDeviceConfig(t *testing.T) { Copiers: 1, Pullers: 16, Hashers: 0, + AutoNormalize: true, }, } expectedDevices := []DeviceConfiguration{ diff --git a/internal/config/testdata/v10.xml b/internal/config/testdata/v10.xml new file mode 100644 index 00000000..08a377c5 --- /dev/null +++ b/internal/config/testdata/v10.xml @@ -0,0 +1,12 @@ + + + + + + +
a
+
+ +
b
+
+
From 157a4c891cb807374a4bc6d158fe2aaf065c08a5 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sat, 21 Mar 2015 15:40:00 +0100 Subject: [PATCH 2/2] Update integration test configs to v10 --- test/h1/config.xml | 20 +++++++++++--------- test/h2/config.xml | 16 +++++++++------- test/h3/config.xml | 18 ++++++++++-------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/test/h1/config.xml b/test/h1/config.xml index c41341e1..5d1272cb 100644 --- a/test/h1/config.xml +++ b/test/h1/config.xml @@ -1,5 +1,5 @@ - - + + @@ -7,27 +7,27 @@ false 1 16 - 1 + 0 - + false 1 16 - 1 + 0 - +
127.0.0.1:22004
- +
127.0.0.1:22001
- +
127.0.0.1:22002
- +
127.0.0.1:22003
@@ -39,6 +39,7 @@ 127.0.0.1:22001 udp4://announce.syncthing.net:22026 + udp6://announce-v6.syncthing.net:22026 false true 21025 @@ -58,5 +59,6 @@ true 5 true + false
diff --git a/test/h2/config.xml b/test/h2/config.xml index 0b6f6858..3563865b 100644 --- a/test/h2/config.xml +++ b/test/h2/config.xml @@ -1,5 +1,5 @@ - - + + @@ -9,7 +9,7 @@ 16 0 - + @@ -18,7 +18,7 @@ 16 0 - + @@ -27,13 +27,13 @@ 16 0 - +
127.0.0.1:22001
- +
127.0.0.1:22002
- +
127.0.0.1:22003
@@ -43,6 +43,7 @@ 127.0.0.1:22002 udp4://announce.syncthing.net:22026 + udp6://announce-v6.syncthing.net:22026 false true 21025 @@ -62,5 +63,6 @@ true 5 true + false
diff --git a/test/h3/config.xml b/test/h3/config.xml index a47e7581..060a531c 100644 --- a/test/h3/config.xml +++ b/test/h3/config.xml @@ -1,14 +1,14 @@ - - + + false 1 16 - 1 + 0 - + @@ -18,15 +18,15 @@ false 1 16 - 1 + 0 - +
127.0.0.1:22001
- +
127.0.0.1:22002
- +
127.0.0.1:22003
@@ -36,6 +36,7 @@ 127.0.0.1:22003 udp4://announce.syncthing.net:22026 + udp6://announce-v6.syncthing.net:22026 false false 21025 @@ -55,5 +56,6 @@ true 5 true + false