From: Felipe Contreras Date: Sun, 08 Sep 2013 00:27:42 GMT Subject: Re: [PATCH] remote-bzr: reuse bzrlib transports when possible Message-ID: In-Reply-To: <1378598300-22737-1-git-send-email-rhansen@bbn.com> On Sat, Sep 7, 2013 at 6:58 PM, Richard Hansen wrote: > 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