[PATCH] Branch and pull-- now with remote

Martin Pool mbp at sourcefrog.net
Mon Jun 6 10:59:58 BST 2005


On  6 Jun 2005, Erik B?gfors <zindar at gmail.com> wrote:
> On 5/29/05, Martin Pool <mbp at sourcefrog.net> wrote:
> > On 29 May 2005, Aaron Bentley <aaron.bentley at utoronto.ca> wrote:
> > > As it turns out, there's not much more to be done to support remote
> > > branches.
> > >
> > > This updated patch adds the ability to branch and pull from remote
> > > branches.  So now, this does work:
> > > $ bzr branch http://www.bazaar-ng.org/bzr/bzr.dev
> > >
> > > It's just that it works pretty slowly, because it's not pipelined.
> > 
> > I was thinking about pipelining.  In many cases we do know in advance
> > a number of files that we'll want to fetch down.  These can be either
> > pipelined onto a single HTTP connection, or spread across multiple
> > connections.
> 
> I think this is needed. Especially for other types of storage.  Just
> for fun, I created readonly support for ssh:// type urls in
> remotebranch.py. It was very simple to do with "ssh user at host cat
> file" instead of the http url reading. Then the rest of the code could
> be the same.  I then merged this with Aarons merge code and could do
> "bzr branch ssh://localhost//tmp/bzr.dev ".  This was VERY VERY slow,
> because of starting a ssh for each file.  It took over 20 min to get
> the whole branch.  If it would be possible to do this in one, or just
> a few, ssh commands I think it would be great.

I think that would be great too.

One way would be to use sftp, which can do everything over a single
connection and can pipeline.  I have some Python code that implements
part of sftp, or there might be a properly finished library around
somewhere.

> Getting somewhat off-topic here.  When it comes to remote branches.  I
> know you Martin has been talking about having inteligence on both
> sides of the pipe. I think this would be a good idea, however, I also
> think that it's needed to have support for remote dumb storage.

Yes, I certainly want remote dumb storage.  Writing to remote dumb
storage is a bit harder because of the need to get the locking and
permissions right, but I think it can be done in this model.

-- 
Martin




More information about the bazaar mailing list