Re: [PATCH] remote-bzr: reuse bzrlib transports when possible
On Sat, Sep 7, 2013 at 6:58 PM, Richard Hansen <rhansen@bbn.com> wrote:
Show 17 quoted lines
> Pass a list of open bzrlib.transport.Transport objects to each bzrlib
> function that might create a transport. This enables bzrlib to reuse
> existing transports when possible, avoiding multiple concurrent
> connections to the same remote server.
>
> If the remote server is accessed via ssh, this fixes a couple of
> problems:
> * If the user does not have keys loaded into an ssh agent, the user
> may be prompted for a password multiple times.
> * If the user is using OpenSSH and the ControlMaster setting is set
> to auto, git-remote-bzr might hang. This is because bzrlib closes
> the multiple ssh sessions in an undefined order and might try to
> close the master ssh session before the other sessions. The
> master ssh process will not exit until the other sessions have
> exited, causing a deadlock. (The ssh sessions are closed in an
> undefined order because bzrlib relies on the Python garbage
> collector to trigger ssh session termination.)
Looks good to me. I'll apply in my personal repository.
--
Felipe Contreras