~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to HACKING

Document the user of TreeBuilder somewhat.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
  test before writing the code.
15
15
 
16
16
  In general, you can test at either the command-line level or the
17
 
  internal API level.  See Writing Tests below for more detail.
 
17
  internal API level.  See Writing tests below for more detail.
18
18
 
19
19
* Try to practice Test-Driven Development.  before fixing a bug, write a
20
20
  test case so that it does not regress.  Similarly for adding a new
421
421
    process will not load plugins unless ``--allow-plugins`` is supplied.
422
422
 
423
423
 
 
424
Test support
 
425
------------
 
426
 
 
427
We have a rich collection of tools to support writing tests. Please use
 
428
them in preference to ad-hoc solutions as they provide portability and
 
429
performance benefits.
 
430
 
 
431
TreeBuilder
 
432
~~~~~~~~~~~
 
433
 
 
434
The ``TreeBuilder`` interface allows the construction of arbitrary trees
 
435
with a declarative interface. A sample session might look like::
 
436
 
 
437
  tree = self.make_branch_and_tree('path')
 
438
  builder = TreeBuilder()
 
439
  builder.start_tree(tree)
 
440
  builder.build(['foo', "bar/", "bar/file"])
 
441
  tree.commit('commit the tree')
 
442
  builder.finish_tree()
 
443
 
 
444
Please see bzrlib.treebuilder for more details.
 
445
 
 
446
 
424
447
Doctests
425
448
--------
426
449