diff --git a/gui/default/syncthing/folder/editFolderModalView.html b/gui/default/syncthing/folder/editFolderModalView.html index 2af157509..cc2aab45e 100644 --- a/gui/default/syncthing/folder/editFolderModalView.html +++ b/gui/default/syncthing/folder/editFolderModalView.html @@ -176,7 +176,7 @@

Path where versions should be stored (leave empty for the default .stversions directory in the shared folder).

-

An external command handles the versioning. It has to remove the file from the shared folder.

+

An external command handles the versioning. It has to remove the file from the shared folder. If the path to the application contains spaces, it should be quoted.

diff --git a/lib/versioner/external.go b/lib/versioner/external.go index 3503f4d89..5ab4edc3b 100644 --- a/lib/versioner/external.go +++ b/lib/versioner/external.go @@ -10,6 +10,7 @@ import ( "errors" "os" "os/exec" + "runtime" "strings" "github.com/syncthing/syncthing/lib/fs" @@ -30,6 +31,10 @@ type External struct { func NewExternal(folderID string, filesystem fs.Filesystem, params map[string]string) Versioner { command := params["command"] + if runtime.GOOS == "windows" { + command = strings.Replace(command, `\`, `\\`, -1) + } + s := External{ command: command, filesystem: filesystem,