1
1
========================
2
Breezy Design Principles
2
Bazaar Design Principles
3
3
========================
5
We have learned or adopted a few general principles for code in Breezy.
5
We have learned or adopted a few general principles for code in Bazaar.
6
6
Generally we will try to follow them in future, either for consistency or
7
7
because they've been proven to work well, or both.
10
10
or modify them as we learn more, or we might be diverging for them for no
11
11
very good reason but just because of bugs. If in doubt, ask.
13
See also: `Breezy Developer Document Catalog <index.html>`_.
13
See also: `Bazaar Developer Document Catalog <index.html>`_.
38
38
The format marker should be a string understandable by a user that names
39
the format and gives the Breezy release that introduced it. If the Breezy
39
the format and gives the bzr release that introduced it. If the bzr
40
40
program doesn't understand that format, it can at least show that format
41
41
marker to the user.
49
49
those changes, or don't propagate them properly.
51
51
We clearly distinguish internal files from user files. Files inside
52
``.bzr/`` are only written to by Breezy and we discourage users from editing
53
them. Within Breezy, code addressing the abstract interface of the Branch,
54
ControlDir, etc shouldn't know where or how the internal files are stored. If
52
``.bzr/`` are only written to by bzr and we discourage users from editing
53
them. Within bzr, code addressing the abstract interface of the Branch,
54
BzrDir, etc shouldn't know where or how the internal files are stored. If
55
55
anything else is written in there, it won't be propagated when pushing or
56
56
pulling, and won't be converted when upgrading. (This is not quite true
57
57
though; there is a ``branch.conf``.)
59
59
User files within the tree, by contrast, we always store and return
60
verbatim. It's OK for Breezy to read and act on these files (as we do
61
with ``.bzrignore``), and to update them (as ``brz ignore`` does), but
60
verbatim. It's OK for Bazaar to read and act on these files (as we do
61
with ``.bzrignore``), and to update them (as ``bzr ignore`` does), but
62
62
they remain clearly user files and can be directly edited.