+ # Collect ALL the output, THEN take its first line. Piped straight into
+ # `Select-Object -First 1`, which is how this used to read, PowerShell
+ # stops the pipeline the moment ssh.exe prints its banner - before it
+ # has exited - kills it, and the exit code comes back -1 instead of 0.
+ # Measured under Windows PowerShell 5.1 against a healthy
+ # C:\Tools\rsync\ssh.exe: 19 of 20 runs reported -1 that way, 0 of 20
+ # once collected first. So this check usually judged the fast client
+ # broken and handed git the in-box one it exists to avoid.
+ # setup-windows-with-uac.ps1 fixed the same trap in its own ssh.exe
+ # check (see DRAIN THE OUTPUT there); this copy was missed.
+ try { $sshOut = @(& $cand -V 2>&1); $version = $sshOut[0] } catch { }