Picks the transport before anything decides whether to use it.
A dry run gets one that refuses every command rather than no transport at all, so a later change
that adds an exec to the dry-run path fails loudly instead of quietly opening a connection the user
asked not to make.
Picks the transport before anything decides whether to use it.
A dry run gets one that refuses every command rather than no transport at all, so a later change that adds an exec to the dry-run path fails loudly instead of quietly opening a connection the user asked not to make.