bzr server

Robert Collins robertc at robertcollins.net
Wed Sep 20 01:09:10 BST 2006


On Tue, 2006-09-19 at 11:58 +0200, Erik Bågfors wrote:
> I'm really happy to see the smart server going into the next release.
> 
> After playing around with it a little, I have some comments and ideas...
> 
> First of all, I'd like to be able to serve a branch and not just a
> repo.  Lot's of times I might have a number of branches in a repo, and
> I want someone to get to one just of the branches.

What you'll need should be in close or done in 0.12. You'll need:
 - Transport emulation turned off. This prevents access to the raw .kndx
etc files.
 - Some sort of policy control noting that the repository contents
should be filtered. This will need a Repository adapter to do the
filtering.

Transport emulation will be an optional on-by-default feature for 0.12 -
right now its the entire functionality of 'bzr server'.

> Secondly, I really think it should default to a specific port.  So
> that bzr://host/path/to/branch would make sence

Agreed. We should get one, probably from the IANA.

> Then, I think it should be possible to serve many repos and branches
> from the same server.
> We have the following setup
> ~/product1/trunk
> ~/product1/branch1
> ~/product1/branch2
> ~/product2/trunk
> ~/product2/branch1
> 
> Where "product1" and "product2" are repos.  I'd like to be able to
> serve that from one server process.

It already can in principle: just server ~ in this case. However, you
want to be able to limit the served space. The plan is to have a
transport adapter that provides a virtual root, with child transports at
named places - so you'd have a VFSTransport() with /product1 being a
LocalFileTransport at /home/you/product1 and likewise for product2.

Thats not currently in the critical path to implement - perhaps you'd
like to write a patch? I'd be every happy to document what bzr serve
will need such a transport to do, and how to test it.

> I also cannot find any way to list branches on a server, I believe
> that this is needed so that one can access all branches on a known
> server.

This is the same issue as accessing over sftp etc at the moment: we have
no defined 'find branches' api. A solution for sftp and ftp will work
for the smart server too.

-Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060920/1592d080/attachment.pgp 


More information about the bazaar mailing list