By default there is a special case in svnkit whereby svn+ssh URLs are handled
using the pure-Java trilead SSH client. Other tunnel protocols
(svn+somethingelse) that are defined in the config file are properly respected,
but this does not apply for svn+ssh - an "ssh = ..." tunnel definition is
ignored in favour of trilead. This commit makes it possible to change that
behaviour by a configuration option gate.cow.useNativeSSH=true in cowrc.groovy
which removes the special case and makes it so that svn+ssh URLs will use the
"ssh = ..." tunnel specification in the svnconfig file. Note that this has a
couple of important caveats:
1. there is no default definition for svn+ssh like there is for the command
line svn client - you *must* define "ssh" as an explicit tunnel type in your
svnconfig for this to work
2. using a native tunnel for ssh means that authentication data (username,
password and/or SSH key) defined on the Wiki object does not apply - if
connections will not authenticate with the default ~/.ssh/id_* keys then the
tunnel specification in svnconfig must include the relevant "-i" and "-l"
options. The username from auth data will be passed as the tunnel-user
option to the remote svnserve but will not affect the SSH connection
username.