The Branch API in bzrlib provides creation and management of Branches. A Branch represents a series of commits and merges carried out by a user. Branches are created by BzrDir's: >>> from bzrlib.bzrdir import ScratchDir >>> from bzrlib.branch import Branch >>> dir = ScratchDir() >>> new_branch = dir.create_branch() Existing Branches can be opened directly: >>> another_instance = Branch.open(dir.transport.clone('..').base) or via the BzrDir: >>> still_the_same_branch = dir.open_branch() A branch has a history of revisions on it: >>> new_branch.revision_history() [] We need to write some more documentation, showing push and pull operations. Cloning might also be nice.