Subject: Re: support git+mosh for unreliable connections

From: Michael J Gruber <[email-masked]>
Date: Thu, 16 Apr 2015 11:29:42 +0200

Trevor Saunders venit, vidit, dixit 15.04.2015 20:59:
> On Wed, Apr 15, 2015 at 07:46:15PM +0200, Johannes Schindelin wrote:
>> Hi Trevor,
>>
>> On 2015-04-15 17:33, Trevor Saunders wrote:
>>> On Wed, Apr 15, 2015 at 04:41:42PM +0200, Johannes Schindelin wrote:
>>>>
>>>> On 2015-04-15 16:18, Pirate Praveen wrote:
>>>>> On Wednesday 15 April 2015 07:22 PM, Michael J Gruber wrote:
>>>>>> What would that require git to do, beyond taking whatever you tell it
>>>>>> (using GIT_SSH or _GIT_SSH_COMMAND) to use as a drop in replacement for ssh?
>>>>>
>>>>> May be support git+mosh as a protocol, since it is not a drop in
>>>>> replacement. It is redesigned remote shell. The ideas it uses for
>>>>> session resumption needs to be reimplemented. This will need support
>>>>> from git, because it needs server side to be modified. Use SSP to return
>>>>> the the current progress for a particular session (it uses AES session ids).
>>>>
>>>> It will need support from Git alright, but not as much as from mosh, see my other reply: Mosh was not designed for non-interactive use. That support would have to be added before we can go any further.
>>>
>>> is that really relevent? mosh doesn't support things like X forwarding
>>> or port forwarding, but it certainly does support ssh <host> <command>
>>> and then doing IO.
>>
>> Ah, so mosh's README lied to me!
> 
> I wouldn't say it lied, its just not really clear what is "interactive"
> I'd say git's use of ssh is kind of interactive compared to things like
> port forwarding.
> 
>> If `mosh <user>@<host> <command>` works, then a simple `GIT_SSH=mosh` should work out of the box, too. Have you tried it?
> 
> it does work, I just tried mosh $host cat and then typing stuff and
> having it printed back at me.  However it clears the terminal before
> hand and prints a message on exit.  I tried GIT_SSH=mosh git clone and
> it failed, but I haven't really dug into why.  SO I suspect this can be
> made to work with some work on the mosh side, but I'm not sure exactly
> how ssh and mosh are behaving differently here.
> 
> Trev

First thing you see on mosh.mit.edu:

"Mosh is a replacement for SSH."

I guess that needs a footnote...

Michael