SCM Server Non-Standard Port
The SCM modules do not honor the :port variable, or the setting via the ssh_options hash, when your server is running on a non-standard port, you must use a supported repository naming scheme to define the port, this is the business of the source control software more than anything, so you can read about it in your SCM tool's manual, here is an excerpt from the git manual.
The same advice applies to all supported SCM modules, consult your vendor's documentation.
One of the following notations can be used to name the remote repository:
rsync://host.xz/path/to/repo.git/ http://host.xz[:port]/path/to/repo.git/ https://host.xz[:port]/path/to/repo.git/ git://host.xz[:port]/path/to/repo.git/ git://host.xz[:port]/~user/path/to/repo.git/ ssh://[user@]host.xz[:port]/path/to/repo.git/ ssh://[user@]host.xz/path/to/repo.git/ ssh://[user@]host.xz/~user/path/to/repo.git/ ssh://[user@]host.xz/~/path/to/repo.git
SSH is the default transport protocol over the network. You can optionally specify which user to log-in as, and an alternate, scp-like syntax is also supported. Both syntaxes support username expansion, as does the native git protocol, but only the former supports port specification. The following three are identical to the last three above, respectively:
[user@]host.xz:/path/to/repo.git/ [user@]host.xz:~user/path/to/repo.git/ [user@]host.xz:path/to/repo.git To sync with a local directory, you can use: /path/to/repo.git/