On 08/17/2010 03:22 PM, Till Maas wrote:
On Tue, Aug 17, 2010 at 03:12:14PM -0600, Orion Poplawski wrote:
> On 08/17/2010 02:28 PM, Jesse Keating wrote:
>> If you're able to create a long term ssh socket to the git server you
>> could re-use the connection and save a significant portion of the
>> connection overhead.
>
> Interesting idea, but I don't see how to do this. git clone is taking the
> ssh: url and making the connection. I don't see anyway to pass it a socket.
> Perhaps via dulwich, though it seems terribly under documented.
This is how I did it for CVS, I did not yet implement this for git:
http://blogs.23.nu/till/2008/12/ssh-via-cvs-with-automatic-control-socket...
Regards
Till
Cool. The only difference appears to be that git passes user@host, so the
following:
$ export GIT_SSH=~/bin/fedora-git-ssh.sh
$ cat ~/.ssh/config
Host
cvs.fedoraproject.org
ForwardX11 no
ForwardAgent no
ControlMaster auto
ControlPath ~/.ssh/controlsocket-%r@%h-%p
$ cat ~/bin/fedora-git-ssh.sh
#! /bin/bash
/usr/bin/test -e ~/.ssh/controlsocket-${1}-22 || /usr/bin/ssh -f -N ${1}
</dev/null >/dev/null 2>/dev/null
exec /usr/bin/ssh "$@"
Seems to work.
Also turning off all forwardings seems to have helped as well. ForwardX11
triggers a call to xauth on each connection otherwise. I have them turned on
by default otherwise.
I wonder if this is worth shipping with fedpkg?
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane orion(a)cora.nwra.com
Boulder, CO 80301
http://www.cora.nwra.com