net-ssh / net-scp

Pure Ruby implementation of the SCP protocol
http://github.com/delano/net-scp
MIT License
152 stars 62 forks source link

Support copying windows files with spaces #34

Open ArtsiomMusin opened 6 years ago

ArtsiomMusin commented 6 years ago

Some people like me use net-scp with Win32-OpenSSH... but scp doesn't work as a windows path could like this "C:\Program Files\Some folder".

The current code uses shellescape which is not friendly with windows paths. That is, every space(and maybe other chars) will be replaced with '\ ' which breaks the windows path. Moreover, net-scp doesn't expect a trailing \ in the path. So all windows \ should be replaced with /.

We've been using this change for a while and haven't seen any issues so far. Hopefully, this change will be useful for other windows folks.