ProcessStartInfo BuildForGgpSync(SshTarget target, string localPath, string remotePath, bool force) { string tunnelSetup = $"--port {target.Port} --ip {target.IpAddress} --compress"; string quotedLocalPath = ProcessUtil.QuoteArgument(localPath); string quotedRemotePath = ProcessUtil.QuoteArgument(remotePath); string copyWholeFiles = force ? "--whole-file --checksum" : ""; return(new ProcessStartInfo { FileName = Path.Combine(SDKUtil.GetSDKToolsPath(), "ggp_rsync.exe"), Arguments = $"{tunnelSetup} {copyWholeFiles} {quotedLocalPath} {quotedRemotePath}", }); }