what is a smart server?

Tom Widmer tom.widmer at googlemail.com
Mon Jul 14 13:50:04 BST 2008

Viktor Nagy wrote:
> Hello,
> I am evaluating bazaar for a project, and the docs seem to me a bit
> contradictory on the definition of a smart server. From the user guide
> section 7.2 I had the feeling that everything is called a smart server
> that uses the bzr | bzr+ssh protocol.
> Moreover, I thought that this is a standalone server, so I won't need
> apache for it. I've had this feeling as according to that description
> the server by default works on port 4155
> But then I get to section 10, where is speaks about setting up the
> smart server with fastcgi/mod_python. Here the solution is clearly
> independent of the port (actually it can handle any port apache deals
> with), it uses the bzr+http protocol, moreover I see no reason why to
> run "bzr serve" in the background if every request is processed
> through apache and further processed locally in the wsgi handler.
> Are these two different things? If not then wha tis bzr serve for? If
> yes, then which one is the preferred way for a dedicated bzr server?
> my guess is that they are different solutions, and bzr serve gives
> better performance, but correct me if I'm wrong

I think 'smart' refers to the fact that custom code executes on the 
server, rather than all operations being handled by code executing on 
the client (and communicating with the server using standard network 
protocols (e.g. ftp)).

So they are all smart (bzr serve using dedicated server process, bzr+ssh 
using ssh to invoke code on server, bzr+http using CGI or mod_python to 
execute code on the server), and presumably all better than a dumb server.


More information about the bazaar mailing list