@@ -84,7 +84,7 @@ chmod +x `+codeServerPath+`
84
84
flog .Info ("synced settings in %s" , time .Since (start ))
85
85
86
86
flog .Info ("syncing extensions" )
87
- err = syncExtensions (host )
87
+ err = syncExtensions (host , * sshFlags )
88
88
if err != nil {
89
89
flog .Fatal ("failed to sync extensions: %v" , err )
90
90
}
@@ -208,24 +208,24 @@ func syncUserSettings(host string) error {
208
208
return rsync (localConfDir + "/" , remoteSettingsDir , host , "workspaceStorage" , "logs" , "CachedData" )
209
209
}
210
210
211
- func syncExtensions (host string ) error {
211
+ func syncExtensions (host string , sshFlags string ) error {
212
212
localExtensionsDir , err := extensionsDir ()
213
213
if err != nil {
214
214
return err
215
215
}
216
216
const remoteExtensionsDir = ".local/share/code-server/extensions"
217
217
218
- return rsync (localExtensionsDir + "/" , remoteExtensionsDir , host )
218
+ return rsync (localExtensionsDir + "/" , remoteExtensionsDir , sshFlags , host )
219
219
}
220
220
221
- func rsync (src string , dest string , host string , excludePaths ... string ) error {
221
+ func rsync (src string , dest string , host string , sshFlags string , excludePaths ... string ) error {
222
222
remoteDest := fmt .Sprintf ("%s:%s" , host , dest )
223
223
excludeFlags := make ([]string , len (excludePaths ))
224
224
for i , path := range excludePaths {
225
225
excludeFlags [i ] = "--exclude=" + path
226
226
}
227
227
228
- cmd := exec .Command ("rsync" , append (excludeFlags , "-azv" , "--copy-unsafe-links" , src , remoteDest )... )
228
+ cmd := exec .Command ("rsync" , append (excludeFlags , "-e" , "ssh " + sshFlags , "- azv" , "--copy-unsafe-links" , src , remoteDest )... )
229
229
cmd .Stdout = os .Stdout
230
230
cmd .Stderr = os .Stderr
231
231
err := cmd .Run ()
0 commit comments