Windows: Remove cygwin ssh, the newer version of which has stopped honoring the setting of HOME. Instead, copy msysgit's ssh into PATH.

This commit is contained in:
Joey Hess 2015-05-07 15:43:36 -04:00
parent 00e426f738
commit ce285ea6fa
4 changed files with 31 additions and 7 deletions

View file

@ -14,10 +14,13 @@ Problem doesn't seem to affect the bundled ssh, just rsync. --[[Joey]]
> So the workaround is to
> delete Git/bin/ssh.exe and leave Git/cmd/ssh.exe. Then rsync works.
> However, this may screw up git's use of ssh or other stuff.
>
> Particularly, cygwin's ssh doesn't honor HOME anymore, instead using
> the getpwent home, which doesn't exist.
>
> Also, see
> [[webapp_fails_to_connect_to_ssh_repository___40__windows__41__]]
> which is the inverse of this bug.
> which is the inverse of this bug perhaps, or at least seems related.
>
> Using 2 ssh's that try to use config from different places seems like
> a losing propisition. Need to find an rsync that works with git's ssh.
@ -38,13 +41,28 @@ Problem doesn't seem to affect the bundled ssh, just rsync. --[[Joey]]
>>> Possible fixes:
>>>
>>> * Roll the bundled ssh and rsync back to the older versions.
>>> (But, this seems like it would leave
>>> [[webapp_fails_to_connect_to_ssh_repository___40__windows__41__]]
>>> unfixed, unless the old version of ssh didn't have that problem.)
>>>
>>> **This works**. And, seems that the older version of ssh from cygwin
>>> looks at HOME, rather than getpwent home which the newer
>>> cygwin ssh does.
>>>
>>> * Roll the bundled rsync back, drop ssh. Rely on msysgit's bundled ssh,
>>> copying it into cmd so it's in PATH. Check: Does this combo work?
>>>
>>> **This works**! rsync 3.0.9 works ok with msysgit's bundled ssh.
>>> rsync 3.1.1 is the one that needs a newer ssh.
>>>
>>> Note that this means we're using an old version of rsync
>>> from cygwin with libraries from a newer cygwin. That might prove
>>> fragile as cygwin is upgraded.
>>>
>>> * Hope that msysgit gets updated to include a newer version of ssh
>>> which works with the new rsync.
>>>
>>> (Seems reasonable as a long-term plan, assuming that the
>>> new rsync's problem with ssh is that it needs a new one, and not some
>>> special cygwin thing.)
>>>
>>> * Get rsync from somewhere else, perhaps msysgit. (Maybe also get ssh
>>> from msysgit?)
>>> * Keep the new rsync from cygwin, and build ssh from source,