HomePhabricator

sshpeer: allow for additional environment passing to ssh exe

Authored by ikostia.

Description

sshpeer: allow for additional environment passing to ssh exe

We already have the ability to customize the ssh command line arguments, let's
add the ability to customize its environment as well.

Example use-case is ssh.exe from Git on Windows. If HOME enviroment variable
is present and has some non-empty value, ssh.exe will try to access that
location for some stuff (for example, it seems for resolving ~ in
.ssh/config). Git for Windows seems to sometimess set this variable to the
value of /home/username which probably works under Git Bash, but does not
work in a native cmd.exe or powershell. Whatever the root cause, setting
HOME to be an empty string heals things. Therefore, some distributors
might want to set sshenv.HOME= in the configuration (seems less intrusive
that forcing everyone to tweak their env).

Test Plan:

  • rt

Differential Revision: https://phab.mercurial-scm.org/D1683

Details