~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help_topics/en/configuration.txt

  • Committer: John Arbash Meinel
  • Date: 2009-10-02 20:32:50 UTC
  • mto: (4679.6.1 2.1-export-c-api)
  • mto: This revision was merged to the branch mainline in revision 4735.
  • Revision ID: john@arbash-meinel.com-20091002203250-q6iv6o2mwjqp4g53
Add __iter__ support.

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
 
Location of configuration file
8
 
==============================
9
 
Each user gets a pair of configurations files in $HOME/.bazaar. The first
10
 
one, named bazaar.conf, includes default configuration options. The other
11
 
file, locations.conf, contains configuration information for specific
12
 
branch locations.
13
 
 
14
 
General Format
15
 
==============
 
1
Configuration Settings
 
2
=======================
 
3
 
 
4
Environment settings
 
5
---------------------
 
6
 
 
7
While most configuration is handled by configuration files, some options
 
8
which may be semi-permanent can also be controlled through the environment.
 
9
 
 
10
BZR_EMAIL
 
11
~~~~~~~~~
 
12
 
 
13
Override the email id used by Bazaar.  Typical format::
 
14
 
 
15
  "John Doe <jdoe@example.com>"
 
16
 
 
17
See also the ``email`` configuration value.
 
18
 
 
19
BZR_PROGRESS_BAR
 
20
~~~~~~~~~~~~~~~~
 
21
 
 
22
Override the progress display.  Possible values are "none", "dots", "tty"
 
23
 
 
24
BZR_SIGQUIT_PDB
 
25
~~~~~~~~~~~~~~~
 
26
 
 
27
Control whether SIGQUIT behaves normally or invokes a breakin debugger.
 
28
 
 
29
* 0 = Standard SIGQUIT behavior (normally, exit with a core dump)
 
30
* 1 = Invoke breakin debugger (default)
 
31
 
 
32
BZR_HOME
 
33
~~~~~~~~
 
34
 
 
35
Override the home directory used by Bazaar.
 
36
 
 
37
BZR_SSH
 
38
~~~~~~~
 
39
 
 
40
Select a different SSH implementation.
 
41
 
 
42
BZR_PDB
 
43
~~~~~~~
 
44
 
 
45
Control whether to launch a debugger on error.
 
46
 
 
47
* 0 = Standard behavior
 
48
* 1 = Launch debugger
 
49
 
 
50
BZR_REMOTE_PATH
 
51
~~~~~~~~~~~~~~~
 
52
 
 
53
Path to the Bazaar executable to use when using the bzr+ssh protocol.
 
54
 
 
55
See also the ``bzr_remote_path`` configuration value.
 
56
 
 
57
BZR_EDITOR
 
58
~~~~~~~~~~
 
59
 
 
60
Path to the editor Bazaar should use for commit messages, etc.
 
61
 
 
62
BZR_PLUGIN_PATH
 
63
~~~~~~~~~~~~~~~
 
64
 
 
65
The path to the plugins directory that Bazaar should use.
 
66
If not set, Bazaar will search for plugins in:
 
67
 
 
68
* the user specific plugin directory (containing the ``user`` plugins),
 
69
 
 
70
* the bzrlib directory (containing the ``core`` plugins),
 
71
 
 
72
* the site specific plugin directory if applicable (containing
 
73
  the ``site`` plugins).
 
74
 
 
75
If ``BZR_PLUGIN_PATH`` is set in any fashion, it will change the
 
76
the way the plugin are searched. 
 
77
 
 
78
As for the ``PATH`` variables, if multiple directories are
 
79
specified in ``BZR_PLUGIN_PATH`` they should be separated by the
 
80
platform specific appropriate character (':' on Unix/Linux/etc,
 
81
';' on windows)
 
82
 
 
83
By default if ``BZR_PLUGIN_PATH`` is set, it replaces searching
 
84
in ``user``.  However it will continue to search in ``core`` and
 
85
``site`` unless they are explicitly removed.
 
86
 
 
87
If you need to change the order or remove one of these
 
88
directories, you should use special values:
 
89
 
 
90
* ``-user``, ``-core``, ``-site`` will remove the corresponding
 
91
  path from the default values,
 
92
 
 
93
* ``+user``, ``+core``, ``+site`` will add the corresponding path
 
94
  before the remaining default values (and also remove it from
 
95
  the default values).
 
96
 
 
97
Note that the special values 'user', 'core' and 'site' should be
 
98
used literally, they will be substituted by the corresponding,
 
99
platform specific, values.
 
100
 
 
101
Examples:
 
102
^^^^^^^^^
 
103
 
 
104
The examples below uses ':' as the separator, windows users
 
105
should use ';'.
 
106
 
 
107
Overriding the default user plugin directory:
 
108
``BZR_PLUGIN_PATH='/path/to/my/other/plugins'``
 
109
 
 
110
Disabling the site directory while retaining the user directory:
 
111
``BZR_PLUGIN_PATH='-site:+user'``
 
112
 
 
113
Disabling all plugins (better achieved with --no-plugins):
 
114
``BZR_PLUGIN_PATH='-user:-core:-site'``
 
115
 
 
116
Overriding the default site plugin directory:
 
117
``BZR_PLUGIN_PATH='/path/to/my/site/plugins:-site':+user``
 
118
 
 
119
 
 
120
 
 
121
BZRPATH
 
122
~~~~~~~
 
123
 
 
124
The path where Bazaar should look for shell plugin external commands.
 
125
 
 
126
 
 
127
Configuration files
 
128
-------------------
 
129
 
 
130
Location
 
131
~~~~~~~~
 
132
 
 
133
Configuration files are located in ``$HOME/.bazaar`` on Linux/Unix and
 
134
``C:\Documents and Settings\<username>\Application Data\Bazaar\2.0`` on
 
135
Windows. (You can check the location for your system by using
 
136
``bzr version``.)
 
137
 
 
138
There are three primary configuration files in this location:
 
139
 
 
140
* ``bazaar.conf`` describes default configuration options,
 
141
 
 
142
* ``locations.conf`` describes configuration information for
 
143
  specific branch locations,
 
144
 
 
145
* ``authentication.conf`` describes credential information for
 
146
  remote servers.
 
147
 
 
148
Each branch can also contain a configuration file that sets values specific
 
149
to that branch. This file is found at ``.bzr/branch/branch.conf`` within the
 
150
branch. This file is visible to all users of a branch, if you wish to override
 
151
one of the values for a branch with a setting that is specific to you then you
 
152
can do so in ``locations.conf``.
 
153
 
 
154
General format
 
155
~~~~~~~~~~~~~~
 
156
 
16
157
An ini file has three types of contructs: section headers, section
17
158
variables and comments.
18
159
 
19
 
comment
20
 
-------
 
160
Comments
 
161
^^^^^^^^
 
162
 
21
163
A comment is any line that starts with a "#" (sometimes called a "hash
22
164
mark", "pound sign" or "number sign"). Comment lines are ignored by
23
165
Bazaar when parsing ini files.
24
166
 
25
 
section header
26
 
--------------
 
167
Section headers
 
168
^^^^^^^^^^^^^^^
 
169
 
27
170
A section header is a word enclosed in brackets that starts at the begining
28
 
of a line, typical section headers look like this::
 
171
of a line.  A typical section header looks like this::
29
172
 
30
173
    [DEFAULT]
31
174
 
32
 
The only valid section header for bazaar.conf is [DEFAULT], which is case
33
 
senstive. The default section provides for setting variables which can be
34
 
overridden with the branch config file.
 
175
The only valid section headers for bazaar.conf currently are [DEFAULT] and
 
176
[ALIASES].  Section headers are case sensitive. The default section provides for
 
177
setting variables which can be overridden with the branch config file.
35
178
 
36
 
For locations.conf, the variables from the section with the longest matching
37
 
section header are used to the exclusion of other potentially valid section
38
 
headers. A section header uses the path for the branch as the section
39
 
header. Some examples include::
 
179
For ``locations.conf``, the variables from the section with the
 
180
longest matching section header are used to the exclusion of other
 
181
potentially valid section headers. A section header uses the path for
 
182
the branch as the section header. Some examples include::
40
183
 
41
184
    [http://mybranches.isp.com/~jdoe/branchdir]
42
185
    [/home/jdoe/branches/]
43
186
 
44
187
 
45
 
 
46
 
section variables
47
 
-----------------
 
188
Section variables
 
189
^^^^^^^^^^^^^^^^^
48
190
 
49
191
A section variable resides within a section. A section variable contains a
50
 
variable name, an equals sign and a value and generally takes the following
51
 
form::
 
192
variable name, an equals sign and a value.  For example::
52
193
 
53
194
    email            = John Doe <jdoe@isp.com>
54
195
    check_signatures = require
55
196
 
56
197
 
 
198
Variable policies
 
199
^^^^^^^^^^^^^^^^^
 
200
 
 
201
Variables defined in a section affect the named directory or URL plus
 
202
any locations they contain.  Policies can be used to change how a
 
203
variable value is interpreted for contained locations.  Currently
 
204
there are three policies available:
 
205
 
 
206
 none:
 
207
   the value is interpreted the same for contained locations.  This is
 
208
   the default behaviour.
 
209
 norecurse:
 
210
   the value is only used for the exact location specified by the
 
211
   section name.
 
212
 appendpath:
 
213
   for contained locations, any additional path components are
 
214
   appended to the value.
 
215
 
 
216
Policies are specified by keys with names of the form "$var:policy".
 
217
For example, to define the push location for a tree of branches, the
 
218
following could be used::
 
219
 
 
220
  [/top/location]
 
221
  push_location = sftp://example.com/location
 
222
  push_location:policy = appendpath
 
223
 
 
224
With this configuration, the push location for ``/top/location/branch1``
 
225
would be ``sftp://example.com/location/branch1``.
 
226
 
 
227
 
57
228
The main configuration file, bazaar.conf
58
 
----------------------------------------
 
229
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
230
 
60
 
The main configuration file, $HOME/.bazaar/bazaar.conf, only allows one
61
 
section called '''[DEFAULT]'''. This default section contains the default
 
231
``bazaar.conf`` allows two sections: ``[DEFAULT]`` and ``[ALIASES]``.
 
232
The default section contains the default
62
233
configuration options for all branches. The default section can be
63
 
overriden by providing a branch specific section in locations.conf.
 
234
overriden by providing a branch-specific section in ``locations.conf``.
64
235
 
65
 
A typical bazaar.conf section often looks like the following::
 
236
A typical ``bazaar.conf`` section often looks like the following::
66
237
 
67
238
    [DEFAULT]
68
239
    email             = John Doe <jdoe@isp.com>
70
241
    check_signatures  = check-available
71
242
    create_signatures = when-required
72
243
 
73
 
$HOME/.bazaar/locations.conf allows one to specify overriding settings for a
74
 
specific branch. The format is almost identical to the default section in
75
 
bazaar.conf with one significant change: The section header, instead of
76
 
saying default, will be the path to a branch that you wish to override a
77
 
value for. The ? and * wildcards are supported::
 
244
 
 
245
The branch location configuration file, locations.conf
 
246
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
247
 
 
248
``locations.conf`` allows one to specify overriding settings for
 
249
a specific branch. The format is almost identical to the default section in
 
250
bazaar.conf with one significant change: The section header, instead of saying
 
251
default, will be the path to a branch that you wish to override a value
 
252
for. The '?' and '*' wildcards are supported::
78
253
 
79
254
    [/home/jdoe/branches/nethack]
80
255
    email = Nethack Admin <nethack@nethack.com>
86
261
    [http://bazaar-vcs.org/bzr/*]
87
262
    check_signatures  = require
88
263
 
89
 
Common Variable options
90
 
=======================
 
264
The authentication configuration file, authentication.conf
 
265
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
266
 
 
267
``authentication.conf`` allows one to specify credentials for
 
268
remote servers. This can be used for all the supported transports and any part
 
269
of bzr that requires authentication (smtp for example).
 
270
 
 
271
The syntax of the file obeys the same rules as the others except for the
 
272
variable policies which don't apply.
 
273
 
 
274
For more information on the possible uses of the authentication configuration
 
275
file see `Authentication Settings`_.
 
276
 
 
277
 
 
278
Common variable options
 
279
-----------------------
 
280
 
 
281
debug_flags
 
282
~~~~~~~~~~~
 
283
 
 
284
A comma-separated list of debugging options to turn on.  The same values
 
285
can be used as with the -D command-line option (see `help global-options`).
 
286
For example::
 
287
 
 
288
    debug_flags = hpss
91
289
 
92
290
email
93
 
-----
 
291
~~~~~
 
292
 
94
293
The email address to use when committing a branch. Typically takes the form
95
294
of::
96
295
 
97
296
    email = Full Name <account@hostname.tld>
98
297
 
99
298
editor
100
 
------
 
299
~~~~~~
 
300
 
101
301
The path of the editor that you wish to use if *bzr commit* is run without
102
 
a commit log message. This setting is trumped by the environment variables
103
 
$BZR_EDITOR or $EDITOR.
 
302
a commit message. This setting is trumped by the environment variable
 
303
``BZR_EDITOR``, and overrides the ``VISUAL`` and ``EDITOR`` environment
 
304
variables.
 
305
 
 
306
log_format
 
307
~~~~~~~~~~
 
308
 
 
309
The default log format to use. Standard log formats are ``long``, ``short``
 
310
and ``line``. Additional formats may be provided by plugins. The default
 
311
value is ``long``.
104
312
 
105
313
check_signatures
106
 
----------------
 
314
~~~~~~~~~~~~~~~~
 
315
 
107
316
Defines the behavior for signatures.
108
317
 
109
318
require
110
 
    the gnupg signature for revisions must be present and must be valid
 
319
    The gnupg signature for revisions must be present and must be valid.
111
320
 
112
321
ignore
113
 
    Do not check gnupg signatures of revisions. 
 
322
    Do not check gnupg signatures of revisions.
114
323
 
115
324
check-available
116
325
    (default) If gnupg signatures for revisions are present, check them.
117
326
    Bazaar will fail if it finds a bad signature, but will not fail if
118
 
    no signature is present
 
327
    no signature is present.
119
328
 
120
329
create_signatures
121
 
-----------------
122
 
Defines the behaviour of signing revisions. Has three possible values:
123
 
always, never and when-requied.
 
330
~~~~~~~~~~~~~~~~~
 
331
 
 
332
Defines the behaviour of signing revisions.
124
333
 
125
334
always
126
 
    sign every new revision that is committed
 
335
    Sign every new revision that is committed.
127
336
 
128
337
when-required
129
338
    (default) Sign newly committed revisions only when the branch requires
130
 
    signed revisions
 
339
    signed revisions.
131
340
 
132
341
never
133
 
    Refuse to sign newly committed revisions, even if the branch requires signatures
 
342
    Refuse to sign newly committed revisions, even if the branch
 
343
    requires signatures.
134
344
 
135
345
recurse
136
 
-------
137
 
Only useful in locations.conf. Defines whether or not the configuration for
138
 
this section applies to subdirectories:
 
346
~~~~~~~
 
347
 
 
348
Only useful in ``locations.conf``. Defines whether or not the
 
349
configuration for this section applies to subdirectories:
139
350
 
140
351
true
141
 
    (default) This section applies to subdirectories as well
 
352
    (default) This section applies to subdirectories as well.
142
353
 
143
354
false
144
355
    This section only applies to the branch at this directory and not
145
 
    branches 
 
356
    branches below it.
146
357
 
147
358
gpg_signing_command
148
 
-------------------
 
359
~~~~~~~~~~~~~~~~~~~
 
360
 
149
361
(Default: "gpg"). Which program should be used to sign and check revisions.
150
 
example::
 
362
For example::
151
363
 
152
364
    gpg_signing_command = /usr/bin/gnpg
153
365
 
 
366
bzr_remote_path
 
367
~~~~~~~~~~~~~~~
 
368
 
 
369
(Default: "bzr").  The path to the command that should be used to run the smart
 
370
server for bzr.  This value may only be specified in locations.conf, because:
 
371
 
 
372
- it's needed before branch.conf is accessible
 
373
- allowing remote branch.conf files to specify commands would be a security
 
374
  risk
 
375
 
 
376
It is overridden by the BZR_REMOTE_PATH environment variable.
 
377
 
 
378
smtp_server
 
379
~~~~~~~~~~~
 
380
 
 
381
(Default: "localhost"). SMTP server to use when Bazaar needs to send
 
382
email, eg. with ``merge-directive --mail-to``, or the bzr-email plugin.
 
383
 
 
384
smtp_username, smtp_password
 
385
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
386
 
 
387
User and password to authenticate to the SMTP server. If smtp_username
 
388
is set, and smtp_password is not, Bazaar will prompt for a password.
 
389
These settings are only needed if the SMTP server requires authentication
 
390
to send mail.
 
391
 
 
392
mail_client
 
393
~~~~~~~~~~~
 
394
 
 
395
A mail client to use for sending merge requests.
 
396
By default, bzr will try to use ``mapi`` on Windows.  On other platforms, it
 
397
will try ``xdg-email``. If either of these fails, it will fall back to
 
398
``editor``.
 
399
 
 
400
Supported values for specific clients:
 
401
 
 
402
:claws: Use Claws.  This skips a dialog for attaching files.
 
403
:evolution: Use Evolution.
 
404
:kmail: Use KMail.
 
405
:mutt: Use Mutt.
 
406
:thunderbird: Use Mozilla Thunderbird or Icedove.  For Thunderbird/Icedove 1.5,
 
407
    this works around some bugs that xdg-email doesn't handle.
 
408
 
 
409
Supported generic values are:
 
410
 
 
411
:default: See above.
 
412
:editor: Use your editor to compose the merge request.  This also uses
 
413
    your commit id, (see ``bzr whoami``), smtp_server and (optionally)
 
414
    smtp_username and smtp_password.
 
415
:mapi: Use your preferred e-mail client on Windows.
 
416
:xdg-email: Use xdg-email to run your preferred mail program
 
417
 
 
418
submit_branch
 
419
~~~~~~~~~~~~~
 
420
 
 
421
The branch you intend to submit your current work to.  This is automatically
 
422
set by ``bzr send``, and is also used by the ``submit:`` revision spec.  This
 
423
should usually be set on a per-branch or per-location basis.
 
424
 
 
425
public_branch
 
426
~~~~~~~~~~~~~
 
427
 
 
428
A publically-accessible version of this branch (implying that this version is
 
429
not publically-accessible).  Used (and set) by ``bzr send``.
 
430
 
 
431
 
 
432
Branch type specific options
 
433
----------------------------
 
434
 
 
435
These options apply only to branches that use the ``dirstate-tags`` or
 
436
later format.  They
 
437
are usually set in ``.bzr/branch/branch.conf`` automatically, but may be
 
438
manually set in ``locations.conf`` or ``bazaar.conf``.
 
439
 
 
440
append_revisions_only
 
441
~~~~~~~~~~~~~~~~~~~~~
 
442
 
 
443
If set to "True" then revisions can only be appended to the log, not
 
444
removed.  A branch with this setting enabled can only pull from
 
445
another branch if the other branch's log is a longer version of its
 
446
own.  This is normally set by ``bzr init --append-revisions-only``.
 
447
 
 
448
parent_location
 
449
~~~~~~~~~~~~~~~
 
450
 
 
451
If present, the location of the default branch for pull or merge.
 
452
This option is normally set by ``pull --remember`` or ``merge
 
453
--remember``.
 
454
 
 
455
push_location
 
456
~~~~~~~~~~~~~
 
457
 
 
458
If present, the location of the default branch for push.  This option
 
459
is normally set by ``push --remember``.
 
460
 
 
461
push_strict
 
462
~~~~~~~~~~~
 
463
 
 
464
If present, defines the ``--strict`` option default value for checking
 
465
uncommitted changes before pushing.
 
466
 
 
467
bound_location
 
468
~~~~~~~~~~~~~~
 
469
 
 
470
The location that commits should go to when acting as a checkout.
 
471
This option is normally set by ``bind``.
 
472
 
 
473
bound
 
474
~~~~~
 
475
 
 
476
If set to "True", the branch should act as a checkout, and push each commit to
 
477
the bound_location.  This option is normally set by ``bind``/``unbind``.
 
478
 
 
479
send_strict
 
480
~~~~~~~~~~~
 
481
 
 
482
If present, defines the ``--strict`` option default value for checking
 
483
uncommitted changes before sending a merge directive.
 
484