On Thu, May 6, 2021 at 8:23 AM Michael Albinus <[email protected]> wrote: > > I've pushed a patch to the repositories, checking for "scp -T", which > seems to help. At least file names with spaces could be handled properly > by the scpx method now. Other special characters in file names, like > dollar, are not handled properly, this needs further investigation. > > Could you pls check how it works in your environment?
Ok, I've tested in all the combinations I can, with the results in the table below. "tramp-dev" is the latest Git revision, whereas "tramp-2.5.0.4" is the version on GNU ELPA. I tested against the Win32 versions of OpenSSH (both v7.7 and v8.1) as well as the MSYS2 version (I have v8.3). The "spaces" test is attempting to open `~/foo bar.txt', and "quotes" is attempting to open `~/a "quoted" file.txt'. I've also included the scp command, and the error message, if any. (I saved logs with `tramp-verbose' set to 6, but they're pretty large even compressed, and I'm not sure they'd be that useful anyway. If you want me to send them over, just let me know.) >From my tests, the best version combination is Tramp 2.5.0.4 with the MSYS2 port of OpenSSH: both files open correctly. However, the development version of Tramp *is* an improvement for anyone with Win32-OpenSSH v8.1. Would it be possible to enable your fix only for the Win32 version? It looks like you can tell them apart by checking `ssh -V'. The Win32 version looks like: OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 and the MSYS2 version looks like: OpenSSH_8.3p1, OpenSSL 1.1.1g 21 Apr 2020 I mentioned it in the other thread, but I'm starting to think that the MSYS2 port of OpenSSH is the best way to use SSH on MS Windows. It seems that it even supports the ControlMaster option, so Tramp could use it on MS Windows, and only disable that feature when it detects "OpenSSH_for_Windows". ---------- Begin Testing Results ---------- tramp-dev ssh-win32-7.7 spaces FAIL scp -p -q -r jim@server:"/home/jim/foo bar.txt" [[dest]] scp: /home/jim/foo: No such file or directory tramp-dev ssh-win32-7.7 quotes FAIL scp -p -q -r jim@server:^"/home/jim/a \^"quoted\^" file.txt^" [[dest]] scp: ^/home/jim/a: No such file or directory tramp-dev ssh-win32-8.1 spaces ok scp -p -T -q -r jim@server:"/home/jim/foo bar.txt" [[dest]] tramp-dev ssh-win32-8.1 quotes FAIL scp -p -T -q -r jim@server:^"/home/jim/a \^"quoted\^" file.txt^" [[dest]] scp: ^/home/jim/a /^quoted/^ file.txt^: No such file or directory tramp-dev ssh-msys2-8.3 spaces ok scp -p -T -q -r jim@server:"/home/jim/foo bar.txt" [[dest]] tramp-dev ssh-msys2-8.3 quotes FAIL scp -p -T -q -r jim@server:^"/home/jim/a \^"quoted\^" file.txt^" [[dest]] scp: ^/home/jim/a \^quoted^ file.txt^: No such file or directory tramp-2.5.0.4 ssh-win32-7.7 spaces FAIL scp -p -q -r jim@server:/home/jim/foo\ bar.txt [[dest]] scp: /home/jim/foo: No such file or directory tramp-2.5.0.4 ssh-win32-7.7 quotes FAIL scp -p -q -r jim@server:/home/jim/a\ \"quoted\"\ file.txt [[dest]] scp: ^/home/jim/a: No such file or directory tramp-2.5.0.4 ssh-win32-8.1 spaces FAIL scp -p -q -r jim@server:/home/jim/foo\ bar.txt [[dest]] scp: /home/jim/foo: No such file or directory tramp-2.5.0.4 ssh-win32-8.1 quotes FAIL scp -p -q -r jim@server:/home/jim/a\ \"quoted\"\ file.txt [[dest]] scp: ^/home/jim/a: No such file or directory tramp-2.5.0.4 ssh-msys2-8.3 spaces ok scp -p -q -r jim@server:/home/jim/foo\ bar.txt [[dest]] tramp-2.5.0.4 ssh-msys2-8.3 quotes ok scp -p -q -r jim@server:/home/jim/a\ \"quoted\"\ file.txt [[dest]] ---------- End Testing Results ---------- - Jim
