Browse Source

Set defaults correctly for autoNormalize

The default:"foo" struct tags aren't actually used for folder configs.
Jakob Borg 10 năm trước cách đây
mục cha
commit
ad9ea07309

+ 3 - 1
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();

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
internal/auto/gui.files.go


+ 17 - 6
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

+ 1 - 0
internal/config/config_test.go

@@ -83,6 +83,7 @@ func TestDeviceConfig(t *testing.T) {
 				Copiers:         1,
 				Pullers:         16,
 				Hashers:         0,
+				AutoNormalize:   true,
 			},
 		}
 		expectedDevices := []DeviceConfiguration{

+ 12 - 0
internal/config/testdata/v10.xml

@@ -0,0 +1,12 @@
+<configuration version="10">
+    <folder id="test" path="testdata" ro="true" ignorePerms="false" rescanIntervalS="600" autoNormalize="true">
+        <device id="AIR6LPZ-7K4PTTV-UXQSMUU-CPQ5YWH-OEDFIIQ-JUG777G-2YQXXR5-YD6AWQR"></device>
+        <device id="P56IOI7-MZJNU2Y-IQGDREY-DM2MGTI-MGL3BXN-PQ6W5BM-TBBZ4TJ-XZWICQ2"></device>
+    </folder>
+    <device id="AIR6LPZ-7K4PTTV-UXQSMUU-CPQ5YWH-OEDFIIQ-JUG777G-2YQXXR5-YD6AWQR" name="node one" compression="metadata">
+        <address>a</address>
+    </device>
+    <device id="P56IOI7-MZJNU2Y-IQGDREY-DM2MGTI-MGL3BXN-PQ6W5BM-TBBZ4TJ-XZWICQ2" name="node two" compression="metadata">
+        <address>b</address>
+    </device>
+</configuration>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác