- CONNECTING TO A BZR REPOSITORY
- LIMITATIONS AND EXTENSIONS
- SEE ALSO
- COPYRIGHT AND LICENSE
VCI::VCS::Bzr - Object-oriented interface to Bazaar (bzr)
use VCI; my $repository = VCI->connect(type => 'Bzr', repo => 'bzr://bzr.example.com/');
For information on how to use VCI::VCS::Bzr, see VCI.
CONNECTING TO A BZR REPOSITORY
For the repo argument to "connect" in VCI, choose the directory above where your branches are kept. For example, if I have a branch
http://bzr.domain.com/bzr/branch, then the
repo would be
connect also takes one optional extra argument:
The path to the
bzrbinary on your system. If not specified, we will search your
PATHand throw an error if
Taint Mode: VCI will throw an error if this argument is tainted, because VCI just runs this command blindly, and we wouldn't want to run something like
VCI::VCS::Bzr requires that the following be installed on your system:
bzrMust be installed and accessible to VCI. If it's not in your path, you should specify an
x_bzrargument to "connect" in VCI, which should contain the full path to the
bzrexecutable, such as /usr/bin/bzr.
bzrtoolsextension package must be installed. Usually this is available as a package (RPM or deb) in your distrubution, or you can download it from here: http://launchpad.net/bzrtools.
Because VCI::VCS::Bzr processes the output of bzr, it needs it in a machine-readable format like XML. For bzr, this is accomplished by the
bzr-xmloutputplugin, which is available here: http://launchpad.net/bzr-xmloutput.
You can read about how to install it at http://doc.bazaar.canonical.com/plugins/en/plugin-installation.html.
This is in addition to any perl module requirements listed when you install VCI::VCS::Bzr.
LIMITATIONS AND EXTENSIONS
These are limitations of VCI::VCS::Bzr compared to the general API specified in the
On some repositories, "projects" will return an empty array, even though there are branches there. This only happens for repositories where we can't list the directories. For example, HTTP repositories without a directory listing.
However, get_project will still work on those repositories.
When constructing a Directory, you cannot specify
revision without also specifying
contents. VCI::VCS::Bzr itself never does this, so you generally don't have to worry about this unless you're building your own objects for some reason.
With local repositories, VCI::VCS::Bzr should be very fast. With remote repositories, certain operations may be slow, such as calling
projects on a Repository.
Max Kanat-Alexander <email@example.com>
COPYRIGHT AND LICENSE
Copyright 2007-2010 by Everything Solved, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.