~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Aaron Bentley
  • Date: 2007-08-13 14:00:59 UTC
  • mto: (2681.5.3 bzr-mail)
  • mto: This revision was merged to the branch mainline in revision 2736.
  • Revision ID: abentley@panoramicfeedback.com-20070813140059-04k01bfueilqvg10
Update text, fix whitespace issues

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Configuring Bazaar
2
 
==================
3
 
 
4
 
Telling Bazaar about yourself
5
 
-----------------------------
6
 
 
7
 
One function of a version control system is to keep track of who changed
8
 
what.  In a decentralized system, that requires an identifier for each
9
 
author that is globally unique.  Most people already have one of these: an
10
 
email address. Bazaar is smart enough to automatically generate an email
11
 
address by looking up your username and hostname. If you don't like the
12
 
guess that Bazaar makes, then use the ``whoami`` command to set the
13
 
identifier you want::
14
 
 
15
 
    % bzr whoami "Your Name <email@example.com>"
16
 
 
17
 
If ``whoami`` is used without an argument, the current value is displayed.
18
 
 
19
 
Using a network proxy
20
 
---------------------
21
 
 
22
 
If your network requires that you use an HTTP proxy for outbound
23
 
connections, you must set the ``http_proxy`` variable.  If the proxy is
24
 
also required for https connections, you need to set ``https_proxy`` too.
25
 
If you need these and don't have them set, you may find that connections
26
 
to Launchpad or other external servers fail or time out.
27
 
 
28
 
On Unix you typically want to set these in ``/etc/environment`` or
29
 
``~/.bash_profile`` and on Windows in the user profile.
30
 
 
31
 
::
32
 
 
33
 
  http_proxy=http://proxy.example.com:3128/
34
 
  https_proxy=http://proxy.example.com:3128/
35
 
 
36
 
The ``no_proxy`` variable can be set to a comma-separated list of hosts
37
 
which shouldn't be reached by the proxy.  (See
38
 
<http://docs.python.org/library/urllib.html> for more details.)
39
 
 
40
 
Various ways to configure
41
 
-------------------------
42
 
 
43
 
As shown in the example above, there are various ways to
44
 
configure Bazaar, they all share some common properties though.
45
 
An option has:
46
 
 
47
 
- a name which is generally a valid python identifier,
48
 
 
49
 
- a value which is a string. In some cases, Bazaar will be able
50
 
  to recognize special values like 'True', 'False' to infer a
51
 
  boolean type, but basically, as a user, you will always specify
52
 
  a value as a string.
53
 
 
54
 
Options are grouped in various contexts so the option name
55
 
uniquely identifies it in this context. When needed, options can
56
 
be made persistent by recording them in a configuration file.
57
 
 
58
 
 
59
 
Configuration files
60
 
-------------------
61
 
 
62
 
Configuration files are located in ``$HOME/.bazaar`` on Unix and
63
 
``C:\Documents and Settings\<username>\Application Data\Bazaar\2.0`` on
64
 
Windows. There are three primary configuration files in this location:
65
 
 
66
 
* ``bazaar.conf`` describes default configuration options,
67
 
 
68
 
* ``locations.conf`` describes configuration information for
69
 
  specific branch locations,
70
 
 
71
 
* ``authentication.conf`` describes credential information for
72
 
  remote servers.
73
 
 
74
 
Each branch can also contain a configuration file that sets values specific
75
 
to that branch. This file is found at ``.bzr/branch/branch.conf`` within the
76
 
branch. This file is visible to **all users of a branch**. If you wish to
77
 
override one of the values for a branch with a setting that is specific to you,
78
 
then you can do so in ``locations.conf``.
79
 
 
80
 
Here is sample content of ``bazaar.conf`` after setting an email address using
81
 
the ``whoami`` command::
82
 
 
83
 
  [DEFAULT]
84
 
  email = Your Name <email@example.com>
85
 
 
86
 
For further details on the syntax and configuration settings supported, see
87
 
`Configuration Settings <../user-reference/index.html#configuration-settings>`_
88
 
in the Bazaar User Reference.
89
 
 
90
 
 
91
 
Looking at the active configuration
92
 
-----------------------------------
93
 
 
94
 
To look at all the currently defined options, you can use the following
95
 
command::
96
 
 
97
 
  bzr config
98
 
 
99
 
``bzr`` implements some rules to decide where to get the value of a
100
 
configuration option.
101
 
 
102
 
The current policy is to examine the existing configurations files in a
103
 
given order for matching definitions.
104
 
 
105
 
  * ``locations.conf`` is searched first for a section whose name matches the
106
 
    location considered (working tree, branch or remote branch),
107
 
 
108
 
  * the current ``branch.conf`` is searched next,
109
 
 
110
 
  * ``bazaar.conf`` is searched next,
111
 
 
112
 
  * finally, some options can have default values generally defined in the
113
 
    code itself and not displayed by ``bzr config`` (see `Configuration
114
 
    Settings <../user-reference/index.html#configuration-settings>`_).
115
 
 
116
 
This is better understood by using ```bzr config`` with no arguments, which
117
 
will display some output of the form::
118
 
 
119
 
  locations:
120
 
    post_commit_to = commits@example.com
121
 
    news_merge_files = NEWS
122
 
  branch:
123
 
    parent_location = bzr+ssh://bazaar.launchpad.net/+branch/bzr/
124
 
    nickname = config-modify
125
 
    push_location = bzr+ssh://bazaar.launchpad.net/~vila/bzr/config-modify/
126
 
  bazaar:
127
 
    debug_flags = hpss,
128
 
 
129
 
Each configuration file is associated with a given scope whose name is
130
 
displayed before each set of defined options.
131
 
 
132
 
Modifying the active configuration
133
 
----------------------------------
134
 
 
135
 
To set an option to a given value use::
136
 
 
137
 
  bzr config opt=value
138
 
 
139
 
To remove an option use::
140
 
 
141
 
  bzr config --remove opt
142
 
 
143
 
 
144
 
Rule-based preferences
145
 
----------------------
146
 
 
147
 
Some commands and plugins provide custom processing on files matching
148
 
certain patterns. Per-user rule-based preferences are defined in
149
 
``BZR_HOME/rules``.
150
 
 
151
 
For further information on how rules are searched and the detailed syntax of
152
 
the relevant files, see `Rules <../user-reference/index.html#rules>`_
153
 
in the Bazaar User Reference.
154
 
 
155
 
 
156
 
Escaping command lines
157
 
----------------------
158
 
 
159
 
When you give a program name or command line in configuration, you can quote
160
 
to include special characters or whitespace.  The same rules are used across
161
 
all platforms.
162
 
 
163
 
The rules are: strings surrounded by double-quotes are interpreted as single
164
 
"words" even if they contain whitespace, and backslash may be used to quote
165
 
quotation marks.  For example::
166
 
 
167
 
    BZR_EDITOR="C:\Program Files\My Editor\myeditor.exe"