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

Paths must not end with slash on Windows

Jakob Borg пре 10 година
родитељ
комит
d7a934cf0e
3 измењених фајлова са 6 додато и 2 уклоњено
  1. 1 1
      cmd/syncthing/locations.go
  2. 1 0
      cmd/syncthing/main.go
  3. 4 1
      lib/config/config.go

+ 1 - 1
cmd/syncthing/locations.go

@@ -54,7 +54,7 @@ var locations = map[locationEnum]string{
 	locPanicLog:      "${config}/panic-${timestamp}.log",
 	locAuditLog:      "${config}/audit-${timestamp}.log",
 	locGUIAssets:     "${config}/gui",
-	locDefFolder:     "${home}/Sync/",
+	locDefFolder:     "${home}/Sync",
 }
 
 // expandLocations replaces the variables in the location map with actual

+ 1 - 0
cmd/syncthing/main.go

@@ -962,6 +962,7 @@ func defaultConfig(myName string) config.Configuration {
 			MinDiskFreePct:  1,
 			Devices:         []config.FolderDeviceConfiguration{{DeviceID: myID}},
 			AutoNormalize:   true,
+			MaxConflicts:    -1,
 		},
 	}
 	newCfg.Devices = []config.DeviceConfiguration{

+ 4 - 1
lib/config/config.go

@@ -425,7 +425,10 @@ func (cfg *Configuration) prepare(myID protocol.DeviceID) {
 		// This way in the tests, we get away without OS specific separators
 		// in the test configs.
 		folder.RawPath = filepath.Dir(folder.RawPath + string(filepath.Separator))
-		if folder.RawPath[len(folder.RawPath)-1] != filepath.Separator {
+
+		// If we're not on Windows, we want the path to end with a slash to
+		// penetrate symlinks. On Windows, paths must not end with a slash.
+		if runtime.GOOS != "windows" && folder.RawPath[len(folder.RawPath)-1] != filepath.Separator {
 			folder.RawPath = folder.RawPath + string(filepath.Separator)
 		}