~bzr-pqm/bzr/bzr.dev

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