The Bazaar repositories for projects use separate directories for each branch. You can see the branch names in the repository by pointing a web browser to:
http://bzr.getTypeBaseHost(). "/r/" . $project->getUnixName(); ?>
For a repository with separate branch directories (trunk, devel, …), use:
bzr branch http://bzr.getTypeBaseHost(). "/r/" . $project->getUnixName(); ?>/branchwhere branch is the name of the branch you want.
bzr branch http://bzr.getTypeBaseHost(). "/r/" . $project->getUnixName(); ?>
bzr branch sftp://@bzr.getTypeBaseHost(). "/srv/bzr/" . $project->getUnixName(); ?>/branch
You may find it faster to just grab the entire repository and all its branches via scp or rsync, for example:
scp -r @bzr.getTypeBaseHost(). ":/srv/bzr/" . $project->getUnixName(); ?> emacs-bzr-repository emacs-bzr-repository
Afterwards, the directory emacs-bzr-repository will have all the data in its .bzr subdirectory, and each branch will also be a subdirectory (empty except for its own .bzr subdirectory). To fill out a branch's working tree, run cd branch && bzr checkout.