~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
=======================
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.

The current high performance server provides read only access by default for
security. 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.

It 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, 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