2977.1.13
by Ian Clatworthy
more cleanups and creation of tutorials directory |
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>" |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
16 |
|
2977.1.13
by Ian Clatworthy
more cleanups and creation of tutorials directory |
17 |
If ``whoami`` is used without an argument, the current value is displayed. |
18 |
||
5335.2.2
by Martin Pool
Add note about setting http proxy in the user guide |
19 |
Using a network proxy |
20 |
--------------------- |
|
21 |
||
5538.2.1
by Zearin
Fixed capitalization of XML and HTTP. Fixed by hand and only where appropriate (e.g., left http://some/url lowercase, but capitalized "When making an HTTP request…"). |
22 |
If your network requires that you use an HTTP proxy for outbound |
5335.2.2
by Martin Pool
Add note about setting http proxy in the user guide |
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 |
||
5335.2.3
by Martin Pool
Document no_proxy |
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 |
||
5743.3.7
by Vincent Ladeuil
Add some documentation about option and sections. |
40 |
Various ways to configure |
41 |
------------------------- |
|
42 |
||
43 |
As shown in the example above, there are various ways to |
|
5743.3.10
by Vincent Ladeuil
Fix typos mentioned in reviews. |
44 |
configure Bazaar, they all share some common properties though. |
45 |
An option has: |
|
5743.3.7
by Vincent Ladeuil
Add some documentation about option and sections. |
46 |
|
47 |
- a name which is generally a valid python identifier, |
|
48 |
||
5743.3.10
by Vincent Ladeuil
Fix typos mentioned in reviews. |
49 |
- a value which is a string. In some cases, Bazaar will be able |
5743.3.7
by Vincent Ladeuil
Add some documentation about option and sections. |
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 |
||
5743.3.10
by Vincent Ladeuil
Fix typos mentioned in reviews. |
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. |
|
5743.3.7
by Vincent Ladeuil
Add some documentation about option and sections. |
57 |
|
5335.2.3
by Martin Pool
Document no_proxy |
58 |
|
2977.1.13
by Ian Clatworthy
more cleanups and creation of tutorials directory |
59 |
Configuration files |
60 |
------------------- |
|
61 |
||
5278.1.5
by Martin Pool
Correct more sloppy use of the term 'Linux' |
62 |
Configuration files are located in ``$HOME/.bazaar`` on Unix and |
2977.1.13
by Ian Clatworthy
more cleanups and creation of tutorials directory |
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 |
|
3418.5.1
by Vincent Ladeuil
Fix #183705 by updating the authentication docs regarding ssh agents. |
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``. |
|
2977.1.13
by Ian Clatworthy
more cleanups and creation of tutorials directory |
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 |
|
4634.164.1
by Alexander Belchenko
fixed URL to User Reference. |
87 |
`Configuration Settings <../user-reference/index.html#configuration-settings>`_ |
3089.3.1
by Ian Clatworthy
move reference material out of User Guide into User Reference |
88 |
in the Bazaar User Reference. |
3398.1.21
by Ian Clatworthy
add 'Rule-based references' section to the User Guide |
89 |
|
90 |
||
5447.4.15
by Vincent Ladeuil
Add some user-guide documentation for bzr config. |
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 |
||
6561.1.1
by Vincent Ladeuil
Clarify option references expansion for `bzr config`. |
132 |
If you need to look at a specific option, you can use:: |
133 |
||
134 |
bzr config <option> |
|
135 |
||
136 |
This will display only the option value and is intended to be used in |
|
137 |
scripts. |
|
138 |
||
5447.4.15
by Vincent Ladeuil
Add some user-guide documentation for bzr config. |
139 |
Modifying the active configuration |
140 |
---------------------------------- |
|
141 |
||
142 |
To set an option to a given value use:: |
|
143 |
||
144 |
bzr config opt=value |
|
145 |
||
6561.1.1
by Vincent Ladeuil
Clarify option references expansion for `bzr config`. |
146 |
An option value can reference another option by enclosing it in curly |
147 |
braces:: |
|
148 |
||
149 |
bzr config opt={other_opt}/subdir |
|
150 |
||
151 |
If ``other_opt`` is set to ``'root``, ``bzr config opt`` will display:: |
|
152 |
||
153 |
root/subdir |
|
154 |
||
155 |
Note that when ``--all`` is used, the references are left as-is to better |
|
156 |
reflect the content of the config files and make it easier to organize them:: |
|
157 |
||
158 |
bzr config --all .*opt |
|
159 |
||
160 |
bazaar: |
|
161 |
[DEFAULT] |
|
162 |
opt = {other_opt}/subdir |
|
163 |
other_opt = root |
|
164 |
||
165 |
||
166 |
||
167 |
||
168 |
||
5447.4.15
by Vincent Ladeuil
Add some user-guide documentation for bzr config. |
169 |
To remove an option use:: |
170 |
||
171 |
bzr config --remove opt |
|
172 |
||
173 |
||
3398.1.21
by Ian Clatworthy
add 'Rule-based references' section to the User Guide |
174 |
Rule-based preferences |
175 |
---------------------- |
|
176 |
||
177 |
Some commands and plugins provide custom processing on files matching |
|
3606.2.5
by Robert Collins
Cherry pick Robert's 'disable .bzrrules in-tree' patch |
178 |
certain patterns. Per-user rule-based preferences are defined in |
179 |
``BZR_HOME/rules``. |
|
3398.1.21
by Ian Clatworthy
add 'Rule-based references' section to the User Guide |
180 |
|
181 |
For further information on how rules are searched and the detailed syntax of |
|
4634.164.2
by Alexander Belchenko
change links to user-reference/bzr_man.html to user-reference/index.html everywhere in the User Guide. |
182 |
the relevant files, see `Rules <../user-reference/index.html#rules>`_ |
3398.1.21
by Ian Clatworthy
add 'Rule-based references' section to the User Guide |
183 |
in the Bazaar User Reference. |
5646.1.2
by Martin Pool
Add brief user documentation of command line splitting |
184 |
|
185 |
||
186 |
Escaping command lines |
|
187 |
---------------------- |
|
188 |
||
189 |
When you give a program name or command line in configuration, you can quote |
|
190 |
to include special characters or whitespace. The same rules are used across |
|
191 |
all platforms. |
|
192 |
||
193 |
The rules are: strings surrounded by double-quotes are interpreted as single |
|
194 |
"words" even if they contain whitespace, and backslash may be used to quote |
|
195 |
quotation marks. For example:: |
|
196 |
||
197 |
BZR_EDITOR="C:\Program Files\My Editor\myeditor.exe" |