~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/configuration.txt

  • Committer: John Arbash Meinel
  • Date: 2007-11-13 20:37:09 UTC
  • mto: This revision was merged to the branch mainline in revision 3001.
  • Revision ID: john@arbash-meinel.com-20071113203709-kysdte0emqv84pnj
Fix bug #162486, by having RemoteBranch properly initialize self._revision_id_to_revno_map.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
====================
 
2
Bazaar configuration
 
3
====================
 
4
 
 
5
Information on how to configure Bazaar.
 
6
 
 
7
.. TODO: Should have some explanation of why you'd want things in
 
8
.. branch.conf.
 
9
 
 
10
 
 
11
Environment variables
 
12
=====================
 
13
While most configuration is handled by configuration files, some options
 
14
which may be semi-permanent can also be controlled through the environment.
 
15
 
 
16
BZR_EMAIL
 
17
---------
 
18
Override the email id used by Bazaar.  Typical format::
 
19
 
 
20
  "John Doe <jdoe@example.com>"
 
21
 
 
22
See also the ``email`` configuration value.
 
23
 
 
24
BZR_PROGRESS_BAR
 
25
----------------
 
26
Override the progress display.  Possible values are "none", "dots", "tty"
 
27
 
 
28
BZR_SIGQUIT_PDB
 
29
---------------
 
30
Control whether SIGQUIT behaves normally or invokes a breakin debugger.
 
31
0 = Standard SIGQUIT behavior
 
32
1 = Invoke breakin debugger (default)
 
33
 
 
34
BZR_HOME
 
35
--------
 
36
Override the home directory used by Bazaar.
 
37
 
 
38
BZR_SSH
 
39
-------
 
40
Select a different SSH implementation.
 
41
 
 
42
BZR_PDB
 
43
-------
 
44
Control whether to launch a debugger on error.
 
45
0 = Standard behavior
 
46
1 = Launch debugger
 
47
 
 
48
BZR_REMOTE_PATH
 
49
---------------
 
50
Path to the Bazaar executable to use when using the bzr+ssh protocol.
 
51
 
 
52
See also the ``bzr_remote_path`` configuration value
 
53
 
 
54
BZR_EDITOR
 
55
----------
 
56
Path to the editor Bazaar should use for commit messages, etc.
 
57
 
 
58
BZR_PLUGIN_PATH
 
59
---------------
 
60
The path to the plugins directory that Bazaar should use.
 
61
 
 
62
BZRPATH
 
63
-------
 
64
The path where Bazaar should look for shell plugin external commands.
 
65
 
 
66
 
 
67
Configuration files
 
68
===================
 
69
 
 
70
Location
 
71
--------
 
72
 
 
73
Configuration files are located in ``$HOME/.bazaar`` and are
 
74
sometimes referred to as ``ini files``:
 
75
 
 
76
* ``bazaar.conf`` describes default configuration options,
 
77
 
 
78
* ``locations.conf`` describes configuration information for
 
79
  specific branch locations,
 
80
 
 
81
* ``authentication.conf`` describes credential information for
 
82
  remote servers.
 
83
 
 
84
Each branch can also contain a configuration file that sets values specific
 
85
to that branch. This file is found at ``.bzr/branch/branch.conf`` within the
 
86
branch. This file is visible to all users of a branch, if you wish to override
 
87
one of the values for a branch with a setting that is specific to you then you
 
88
can do so in ``locations.conf``.
 
89
 
 
90
General Format
 
91
--------------
 
92
 
 
93
An ini file has three types of contructs: section headers, section
 
94
variables and comments.
 
95
 
 
96
Comments
 
97
~~~~~~~~
 
98
A comment is any line that starts with a "#" (sometimes called a "hash
 
99
mark", "pound sign" or "number sign"). Comment lines are ignored by
 
100
Bazaar when parsing ini files.
 
101
 
 
102
Section Headers
 
103
~~~~~~~~~~~~~~~
 
104
A section header is a word enclosed in brackets that starts at the begining
 
105
of a line.  A typical section header looks like this::
 
106
 
 
107
    [DEFAULT]
 
108
 
 
109
The only valid section header for bazaar.conf is [DEFAULT], which is
 
110
case sensitive. The default section provides for setting variables
 
111
which can be overridden with the branch config file.
 
112
 
 
113
For ``locations.conf``, the variables from the section with the
 
114
longest matching section header are used to the exclusion of other
 
115
potentially valid section headers. A section header uses the path for
 
116
the branch as the section header. Some examples include::
 
117
 
 
118
    [http://mybranches.isp.com/~jdoe/branchdir]
 
119
    [/home/jdoe/branches/]
 
120
 
 
121
 
 
122
Section Variables
 
123
~~~~~~~~~~~~~~~~~
 
124
 
 
125
A section variable resides within a section. A section variable contains a
 
126
variable name, an equals sign and a value.  For example::
 
127
 
 
128
    email            = John Doe <jdoe@isp.com>
 
129
    check_signatures = require
 
130
 
 
131
 
 
132
Variable Policies
 
133
~~~~~~~~~~~~~~~~~
 
134
 
 
135
Variables defined in a section affect the named directory or URL plus
 
136
any locations they contain.  Policies can be used to change how a
 
137
variable value is interpreted for contained locations.  Currently
 
138
there are three policies available:
 
139
 
 
140
 none:
 
141
   the value is interpreted the same for contained locations.  This is
 
142
   the default behaviour.
 
143
 norecurse:
 
144
   the value is only used for the exact location specified by the
 
145
   section name.
 
146
 appendpath:
 
147
   for contained locations, any additional path components are
 
148
   appended to the value.
 
149
 
 
150
Policies are specified by keys with names of the form "$var:policy".
 
151
For example, to define the push location for a tree of branches, the
 
152
following could be used::
 
153
 
 
154
  [/top/location]
 
155
  push_location = sftp://example.com/location
 
156
  push_location:policy = appendpath
 
157
 
 
158
With this configuration, the push location for ``/top/location/branch1``
 
159
would be ``sftp://example.com/location/branch1``.
 
160
 
 
161
 
 
162
The main configuration file, bazaar.conf
 
163
----------------------------------------
 
164
 
 
165
The main configuration file, ``$HOME/.bazaar/bazaar.conf``, only allows one
 
166
section called ``[DEFAULT]``. This default section contains the default
 
167
configuration options for all branches. The default section can be
 
168
overriden by providing a branch-specific section in ``locations.conf``.
 
169
 
 
170
A typical ``bazaar.conf`` section often looks like the following::
 
171
 
 
172
    [DEFAULT]
 
173
    email             = John Doe <jdoe@isp.com>
 
174
    editor            = /usr/bin/vim
 
175
    check_signatures  = check-available
 
176
    create_signatures = when-required
 
177
 
 
178
 
 
179
The branch location configuration file, locations.conf
 
180
------------------------------------------------------
 
181
 
 
182
``$HOME/.bazaar/locations.conf`` allows one to specify overriding settings for
 
183
a specific branch. The format is almost identical to the default section in
 
184
bazaar.conf with one significant change: The section header, instead of saying
 
185
default, will be the path to a branch that you wish to override a value
 
186
for. The '?' and '*' wildcards are supported::
 
187
 
 
188
    [/home/jdoe/branches/nethack]
 
189
    email = Nethack Admin <nethack@nethack.com>
 
190
 
 
191
    [http://hypothetical.site.com/branches/devel-branch]
 
192
    create_signatures = always
 
193
    check_signatures  = always
 
194
 
 
195
    [http://bazaar-vcs.org/bzr/*]
 
196
    check_signatures  = require
 
197
 
 
198
The authentication configuration file, authentication.conf
 
199
----------------------------------------------------------
 
200
 
 
201
``$HOME/.bazaar/authentication.conf`` allows one to specify credentials for
 
202
remote servers. This can be used for all the supported transports and any part
 
203
of bzr that requires authentication (smtp for example).
 
204
 
 
205
The syntax of the file obeys the same rules as the others except for the
 
206
variable policies which don't apply.
 
207
 
 
208
For more information on the possible uses of the authentication configuration
 
209
file see the `authentication configuration file documentation`_.
 
210
 
 
211
.. _authentication configuration file documentation: authentication_conf.html
 
212
 
 
213
Common Variable Options
 
214
=======================
 
215
 
 
216
email
 
217
-----
 
218
The email address to use when committing a branch. Typically takes the form
 
219
of::
 
220
 
 
221
    email = Full Name <account@hostname.tld>
 
222
 
 
223
editor
 
224
------
 
225
The path of the editor that you wish to use if *bzr commit* is run without
 
226
a commit message. This setting is trumped by the environment variable
 
227
``$BZR_EDITOR``, and overrides ``$VISUAL`` and ``$EDITOR``.
 
228
 
 
229
check_signatures
 
230
----------------
 
231
Defines the behavior for signatures.
 
232
 
 
233
require
 
234
    The gnupg signature for revisions must be present and must be valid.
 
235
 
 
236
ignore
 
237
    Do not check gnupg signatures of revisions.
 
238
 
 
239
check-available
 
240
    (default) If gnupg signatures for revisions are present, check them.
 
241
    Bazaar will fail if it finds a bad signature, but will not fail if
 
242
    no signature is present.
 
243
 
 
244
create_signatures
 
245
-----------------
 
246
Defines the behaviour of signing revisions.
 
247
 
 
248
always
 
249
    Sign every new revision that is committed.
 
250
 
 
251
when-required
 
252
    (default) Sign newly committed revisions only when the branch requires
 
253
    signed revisions.
 
254
 
 
255
never
 
256
    Refuse to sign newly committed revisions, even if the branch
 
257
    requires signatures.
 
258
 
 
259
recurse
 
260
-------
 
261
Only useful in ``locations.conf``. Defines whether or not the
 
262
configuration for this section applies to subdirectories:
 
263
 
 
264
true
 
265
    (default) This section applies to subdirectories as well.
 
266
 
 
267
false
 
268
    This section only applies to the branch at this directory and not
 
269
    branches below it.
 
270
 
 
271
gpg_signing_command
 
272
-------------------
 
273
(Default: "gpg"). Which program should be used to sign and check revisions.
 
274
For example::
 
275
 
 
276
    gpg_signing_command = /usr/bin/gnpg
 
277
 
 
278
bzr_remote_path
 
279
---------------
 
280
(Default: "bzr").  The path to the command that should be used to run the smart
 
281
server for bzr.  This value may only be specified in locations.conf, because:
 
282
 
 
283
- it's needed before branch.conf is accessible
 
284
- allowing remote branch.conf files to specify commands would be a security
 
285
  risk
 
286
 
 
287
It is overridden by the BZR_REMOTE_PATH environment variable.
 
288
 
 
289
smtp_server
 
290
-----------
 
291
(Default: "localhost"). SMTP server to use when Bazaar needs to send
 
292
email, eg. with ``merge-directive --mail-to``, or the bzr-email plugin.
 
293
 
 
294
smtp_username, smtp_password
 
295
----------------------------
 
296
User and password to authenticate to the SMTP server. If smtp_username
 
297
is set, and smtp_password is not, Bazaar will prompt for a password.
 
298
These settings are only needed if the SMTP server requires authentication
 
299
to send mail.
 
300
 
 
301
mail_client
 
302
-----------
 
303
A mail client to use for sending merge requests.
 
304
By default, bzr will try to use ``mapi`` on Windows.  On other platforms, it
 
305
will try ``xdg-email``. If either of these fails, it will fall back to
 
306
``editor``.
 
307
 
 
308
Supported values for specific clients:
 
309
 
 
310
:evolution: Use Evolution.
 
311
:kmail: Use KMail.
 
312
:mutt: Use Mutt.
 
313
:thunderbird: Use Mozilla Thunderbird or Icedove.  For Thunderbird/Icedove 1.5,
 
314
    this works around some bugs that xdg-email doesn't handle.
 
315
 
 
316
Supported generic values are:
 
317
 
 
318
:default: See above.
 
319
:editor: Use your editor to compose the merge request.  This also uses
 
320
    your commit id, (see ``bzr whoami``), smtp_server and (optionally)
 
321
    smtp_username and smtp_password.
 
322
:mapi: Use your preferred e-mail client on Windows.
 
323
:xdg-email: Use xdg-email to run your preferred mail program
 
324
 
 
325
submit_branch
 
326
-------------
 
327
The branch you intend to submit your current work to.  This is automatically
 
328
set by ``bzr send``, and is also used by the ``submit:`` revision spec.  This
 
329
should usually be set on a per-branch or per-location basis.
 
330
 
 
331
public_branch
 
332
-------------
 
333
A publically-accessible version of this branch (implying that this version is
 
334
not publically-accessible).  Used (and set) by ``bzr send``.
 
335
 
 
336
 
 
337
Branch 6 Options
 
338
================
 
339
 
 
340
These options apply only to branches that use the "dirstate-tags" format.  They
 
341
are usually set in ``.bzr/branch/branch.conf`` automatically, but may be
 
342
manually set in ``locations.conf`` or ``bazaar.conf``.
 
343
 
 
344
append_revisions_only
 
345
---------------------
 
346
If set to "True" then revisions can only be appended to the log, not
 
347
removed.  A branch with this setting enabled can only pull from
 
348
another branch if the other branch's log is a longer version of its
 
349
own.  This is normally set by ``bzr init --append-revisions-only``.
 
350
 
 
351
parent_location
 
352
---------------
 
353
If present, the location of the default branch for pull or merge.
 
354
This option is normally set by ``pull --remember`` or ``merge
 
355
--remember``.
 
356
 
 
357
push_location
 
358
-------------
 
359
If present, the location of the default branch for push.  This option
 
360
is normally set by ``push --remember``.
 
361
 
 
362
bound_location
 
363
--------------
 
364
The location that commits should go to when acting as a checkout.
 
365
This option is normally set by ``bind``.
 
366
 
 
367
bound
 
368
-----
 
369
If set to "True", the branch should act as a checkout, and push each commit to
 
370
the bound_location.  This option is normally set by ``bind``/``unbind``.
 
371