~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to HACKING

  • Committer: Martin Pool
  • Date: 2005-10-06 03:48:08 UTC
  • mto: (1185.13.3)
  • mto: This revision was merged to the branch mainline in revision 1417.
  • Revision ID: mbp@sourcefrog.net-20051006034808-7984f1371c3fa26a
- more hacking notes on evolving interfaces

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
  i.e. ``bzrlib.hashcache`` not just ``hashcache``.
33
33
 
34
34
 
 
35
Evolving interfaces
 
36
-------------------
 
37
 
 
38
If you change the behaviour of an API in an incompatible way, please
 
39
be sure to change its name as well. For instance, if I add a keyword
 
40
parameter to branch.commit - that's fine. On the other hand, if I add
 
41
a keyword parameter to branch.commit which is a *required* transaction
 
42
object, I should rename the api - i.e. to 'branch.commit_transaction'.
 
43
 
 
44
This will prevent users of the old api getting surprising results. 
 
45
Instead, they will get an Attribute error as the api is missing, and
 
46
will know to update their code. If in doubt, just ask on #bzr.
 
47
 
35
48
 
36
49
Documentation
37
50
=============