fix: rsync double SSH spec in RunRemote, restore dropped flags in Run

- Fix Bug A: RunRemote was re-prefixing destination with user@host: when
  engine.go:135 already pre-prefixed it for remote-to-remote, causing
  "admin@host:admin@host:/path" to be passed to rsync
- Fix Bug B: Run used args[1:] when inserting -e ssh, silently dropping
  the first rsync flag (e.g. -aP became flag-less)
- Fix Bug C: RunRemote extracted source/dest in wrong order for pull
  direction (buildArgs reverses them but RunRemote assumed push order)
- Add rsync_runner_test.go covering buildArgs, RunRemote prefixing,
  and flag preservation
This commit is contained in:
2026-07-09 21:51:05 -04:00
parent 969ccacfc8
commit 147c6d8ead
4 changed files with 295 additions and 11 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ import (
"github.com/syncserver/internal/syncengine"
)
var version = "1.0.36"
var version = "1.0.37"
func main() {
cfgPath := flag.String("config", "", "Path to config.yaml")