@@ -19,12 +19,14 @@ package bootstrapper
19
19
import (
20
20
"fmt"
21
21
"io"
22
- "path/filepath"
22
+ "path"
23
+ "strings"
23
24
"sync"
24
25
25
26
"github.com/golang/glog"
26
27
"github.com/pkg/errors"
27
28
"golang.org/x/crypto/ssh"
29
+ "k8s.io/apimachinery/pkg/runtime"
28
30
"k8s.io/minikube/pkg/minikube/assets"
29
31
)
30
32
@@ -81,7 +83,7 @@ func (s *SSHRunner) CombinedOutput(cmd string) (string, error) {
81
83
82
84
// Copy copies a file to the remote over SSH.
83
85
func (s * SSHRunner ) Copy (f assets.CopyableFile ) error {
84
- deleteCmd := fmt .Sprintf ("sudo rm -f %s" , filepath .Join (f .GetTargetDir (), f .GetTargetName ()))
86
+ deleteCmd := fmt .Sprintf ("sudo rm -f %s" , path .Join (f .GetTargetDir (), f .GetTargetName ()))
85
87
mkdirCmd := fmt .Sprintf ("sudo mkdir -p %s" , f .GetTargetDir ())
86
88
for _ , cmd := range []string {deleteCmd , mkdirCmd } {
87
89
if err := s .Run (cmd ); err != nil {
@@ -111,6 +113,10 @@ func (s *SSHRunner) Copy(f assets.CopyableFile) error {
111
113
fmt .Fprint (w , "\x00 " )
112
114
}()
113
115
116
+ targetDir := f .GetTargetDir ()
117
+ if runtime .GOOS == "windows" {
118
+ targetDir = strings .Replace ("\\ " , "/" , - 1 )
119
+ }
114
120
scpcmd := fmt .Sprintf ("sudo scp -t %s" , f .GetTargetDir ())
115
121
if err := sess .Run (scpcmd ); err != nil {
116
122
return errors .Wrapf (err , "Error running scp command: %s" , scpcmd )
0 commit comments