~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/documenting-changes.txt

  • Committer: John Arbash Meinel
  • Date: 2005-09-15 21:35:53 UTC
  • mfrom: (907.1.57)
  • mto: (1393.2.1)
  • mto: This revision was merged to the branch mainline in revision 1396.
  • Revision ID: john@arbash-meinel.com-20050915213552-a6c83a5ef1e20897
(broken) Transport work is merged in. Tests do not pass yet.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
===================
2
 
Documenting Changes
3
 
===================
4
 
 
5
 
When you change bzr, please update the relevant documentation for the
6
 
change you made:
7
 
 
8
 
Changing existing behavior
9
 
  If the change will break existing command lines, or break
10
 
  interoperability with other versions of Bazaar, mention this in 
11
 
  "External Compatibility Breaks" in NEWS, and also in "What's New".
12
 
 
13
 
Adding a new feature, function or option
14
 
  Describe this in NEWS, in the user guide, and in the "What's New"
15
 
  document.  Consider whether you should also update command help
16
 
  or any help topics.
17
 
 
18
 
A new hook or extension point
19
 
  These are also described in NEWS, in the hook documentation, and in
20
 
  "What's New."  Even though they might be API-only changes, the fact that 
21
 
  they exist may interest users enough to write a new plugin that uses
22
 
  them.
23
 
 
24
 
Fixing a bug
25
 
  If the bug has any user-visible impact, describe it in the NEWS file
26
 
  in such a way that users can tell whether the problem they're
27
 
  experiencing is the one that was fixed.
28
 
 
29
 
Improving performance
30
 
  Mention this under "improvements" in NEWS, and if it's a notable
31
 
  improvement mention it in "What's New".
32
 
 
33
 
Deprecating an API, or adding a new recommended API
34
 
  Mention this in the "API Changes" of NEWS, if it's likely to affect
35
 
  plugin authors.  Consider whether you should also update the developer
36
 
  documentation.
37
 
 
38
 
Changing the way the test suite works or adding more tests
39
 
  Mention this under "Testing" in NEWS, and update the developer guide
40
 
  to testing.
41
 
 
42
 
Purely internal changes
43
 
  If the change has no user-visible impact and is not interesting to 
44
 
  plugin developers, it doesn't need to be mentioned in NEWS.  If you're 
45
 
  setting a new pattern or adding a new abstraction, update the developer
46
 
  docs.
47
 
 
48
 
NEWS File
49
 
---------
50
 
 
51
 
If you make a user-visible change, please add a note to the NEWS file.
52
 
The description should be written to make sense to someone who's just
53
 
a user of bzr, not a developer: new functions or classes shouldn't be
54
 
mentioned, but new commands, changes in behaviour or fixed nontrivial
55
 
bugs should be listed.  See the existing entries for an idea of what
56
 
should be done.
57
 
 
58
 
Within each release, entries in the news file should have the most
59
 
user-visible changes first.  So the order should be approximately:
60
 
 
61
 
* changes to existing behaviour - the highest priority because the
62
 
  user's existing knowledge is incorrect
63
 
* new features - should be brought to their attention
64
 
* bug fixes - may be of interest if the bug was affecting them, and
65
 
  should include the bug number if any
66
 
* major documentation changes, including fixed documentation bugs
67
 
 
68
 
People who made significant contributions to each change are listed in
69
 
parenthesis.  This can include reporting bugs (particularly with good
70
 
details or reproduction recipes), submitting patches, etc.
71
 
 
72
 
To help with merging, NEWS entries should be sorted lexicographically
73
 
within each section.
74
 
 
75
 
Commands
76
 
--------
77
 
 
78
 
The docstring of a command is used by ``bzr help`` to generate help output
79
 
for the command. The list 'takes_options' attribute on a command is used by
80
 
``bzr help`` to document the options for the command - the command
81
 
docstring does not need to document them. Finally, the '_see_also'
82
 
attribute on a command can be used to reference other related help topics.
83
 
 
84
 
API Documentation
85
 
-----------------
86
 
 
87
 
Functions, methods, classes and modules should have docstrings
88
 
describing how they are used.
89
 
 
90
 
The first line of the docstring should be a self-contained sentence.
91
 
 
92
 
For the special case of Command classes, this acts as the user-visible
93
 
documentation shown by the help command.
94
 
 
95
 
The docstrings should be formatted as reStructuredText_ (like this
96
 
document), suitable for processing using the epydoc_ tool into HTML
97
 
documentation.
98
 
 
99
 
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
100
 
.. _epydoc: http://epydoc.sourceforge.net/