On Sat, May 8, 2021 at 9:14 AM Michael Albinus <[email protected]> wrote: > > Short update. Since I cannot find a file name quoting which satisfies > both pscp and MS Windows scp, I've decided to add a new user option > tramp-use-ms-dos-quote-argument. It's default value is nil, but users > can change it to non-nil. In that case, Tramp would apply the changed > file name quotation for scp arguments, i.e. replacing a double quote by > two double quotes, and putting everything into a start/stop double > quote.
This sounds like the ideal solution to me. By making this opt-in, well-behaved programs (pscp, MSYS2 scp) should work without configuration, but it's still easy to get things working with Win32 scp. Hopefully in the future, the Win32 port of scp will also behave correctly so it also works without configuring Tramp. > > I also set `tramp-use-ssh-controlmaster-options' to t. Aside from > > taking a bit longer when first connecting to the server, I haven't > > noticed any issues. That said, ControlMaster might not actually do > > anything on the MSYS2 port. Reports on the web about it vary, and I > > haven't had time to verify whether it really works or if it's just > > ignoring those settings. > > Hmm. Yes. But I have no idea how to check it w/o collateral damages (and > you are not the first one who has asked). Proposals welcome! I poked at this some more, and I'm pretty sure ControlMaster is just a no-op in the MSYS2 port. I checked my system's TCP connections while using Tramp with `tramp-use-ssh-controlmaster-options' set to t, and I still saw several TCP connections created from `ssh.exe'. Thus, I think the current Tramp behavior (disable `tramp-use-ssh-controlmaster-options' on MS Windows) is fine: it's either a no-op (for the MSYS2 ssh) or it causes a hang (for the Win32 ssh). - Jim
