~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/configuration.txt

  • Committer: Jelmer Vernooij
  • Date: 2011-05-11 14:26:41 UTC
  • mto: This revision was merged to the branch mainline in revision 5852.
  • Revision ID: jelmer@samba.org-20110511142641-wbx6svyykkgtq24u
Use osutils.sha_string() when possible.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
A configuration option has:
5
5
 
6
 
* a name: a valid python identifier (even if it's not used as an
 
6
- a name: a valid python identifier (even if it's not used as an
7
7
  identifier in python itself)
8
8
 
9
 
* a value: a unicode string
10
 
 
11
 
Option
12
 
------
13
 
 
14
 
The Option object is used to define its properties:
15
 
 
16
 
* name: a name: a valid python identifier (even if it's not used as an
17
 
  identifier in python itself). This is also used to register the option.
18
 
 
19
 
* default: the default value that Stack.get() should return if no
20
 
  value can be found for the option.
21
 
 
22
 
* help: a doc string describing the option, the first line should be a
23
 
  summary and can be followed by a blank line and a more detailed
24
 
  explanation.
 
9
- a value: a unicode string
25
10
 
26
11
Sections
27
12
--------
29
14
Options are grouped into sections which share some properties with the well
30
15
known dict objects:
31
16
 
32
 
* the key is the name,
33
 
* you can get, set and remove an option,
34
 
* the value is a unicode string.
 
17
- the key is the name,
 
18
- you can get, set and remove an option,
 
19
- the value is a unicode string.
35
20
 
36
21
MutableSection is needed to set or remove an option, ReadOnlySection should
37
22
be used otherwise.
110
95
A ``Stack`` defines a mutable section when there is no ambiguity.  If there
111
96
is one, then the *user* should be able to decide and in this case a new
112
97
``Stack`` can be created cheaply.
113
 
 
114
 
Different stacks can be created for different purposes, the existing
115
 
``GlobalStack``, ``LocationStack`` and ``BranchStack`` can be used as basis
116
 
or examples. These classes are the only ones that should be used in code,
117
 
``Stores`` can be used to build them but shouldn't be used otherwise, ditto
118
 
for sections. Again, the associated tests could and should be used against the
119
 
created stacks.