1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
=======================
Running a Bazaar Server
=======================
Bazaar does not require a specialised server because it operates over HTTP, FTP
or SFTP. There is an optional smart server that can be invoked over SSH, from
inetd, or in a dedicated mode.
Dumb servers
============
We describe HTTP, FTP, SFTP and HTTP-WebDAV as "dumb" servers because they do
not offer any assistance to Bazaar. If you make a Bazaar repository available
over any of these protocols, Bazaar will allow you to read it remotely. Just
enter the URL to the branch in the Bazaar command you are running.::
bzr log http://bazaar-vcs.org/bzr/bzr.dev
Bazaar supports writing over FTP, SFTP and via a plugin over HTTP-WebDAV.
High-performance server
=======================
**In development**
The high-performance server is currently in development. The version of Bazaar
that accompanies this documentation is able to use the servers underlying
protocol as a dumb server. This is the first stage high-performance server
functionality to be delivered.
To maintain the highest security possible, the current
high-performance server provides read-only access by default. To
enable read-write access, run it with ``--allow-writes``. When using
the SSH access method, bzr automatically runs with with the
``--allow-writes`` option.
The server can be configured to run in three different ways:
SSH
---
Using Bazaar over SSH requires no special configuration on the server::
BZR_REMOTE_PATH=~/bin/bzr bzr log bzr+ssh://host/path/to/branch
The ``BZR_REMOTE_PATH`` environment variable adjusts how `bzr` will be
invoked on the remote system. By default, just `bzr` will be invoked,
which requires the `bzr` executable to be on the default search path.
The ``bzr+ssh://`` URL scheme only supports absolute paths from the
root of the filesystem. Future versions are expected to support ``~``
in the same way as ``sftp://`` URLs.
inetd
-----
This example shows how to run `bzr` with a dedicated user `bzruser`
for a shared repository in ``/srv/bzr/repo`` which has a branch at
``/srv/bzr/repo/branchname``.
Running a Bazaar server from inetd requires an inetd.conf entry::
1234 stream tcp nowait bzruser /usr/bin/bzr serve --inet --directory=/srv/bzr/repo
When running client commands, the URL you supply is a `bzr://` URL relative to
the ``--directory`` option given in inetd.conf::
bzr log bzr://host:1234/branchname
Dedicated
---------
This mode has the same path and URL behaviour as the inetd mode. To
run as a specific user, you should use ``su`` or login as that user.
This example runs ``bzr serve`` on `localhost` port `1234`.
server::
bzr serve --port=localhost:1234 --directory=/srv/bzr/repo
client::
bzr log bzr://host:1234/branchname
|