Thread (15 messages) flat view 15 messages, 8 authors, 2016-06-15

Re: support git+mosh for unreliable connections

From: Trevor Saunders <hidden>
Date: 2016-06-15 23:04:26

On Wed, Apr 15, 2015 at 07:46:15PM +0200, Johannes Schindelin wrote:
Hi Trevor,

On 2015-04-15 17:33, Trevor Saunders wrote:
quoted
On Wed, Apr 15, 2015 at 04:41:42PM +0200, Johannes Schindelin wrote:
quoted
On 2015-04-15 16:18, Pirate Praveen wrote:
quoted
On Wednesday 15 April 2015 07:22 PM, Michael J Gruber wrote:
quoted
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
Ciao,
Johannes
  It might not support not doing terminal emulation
quoted
stuff, but that seems like a simple thing to change in principal at which
point I think it would support enough of ssh's functionality its a drop
in replacement as far as git is concerned.  Seems to me mosh is close
enough on its own its worth experimentation by someone who cares.

Trev
quoted
quoted
So when a client connect with a session id, git server side can respond
with the current state, how many objects received in that session, and
client can continue from where it stopped. Client also will need to
store session information.
No, the protocol can stay exactly the same, once you have a way to communicate non-interactively via mosh.

Ciao,
Johannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help