Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Bazaar plugin registry

What is a plugin?

A plugin is an external component for Bazaar that extends Bazaar's functionality, by adding or replacing code. Plugins are often a way for developers to test new features prior to inclusion in the core codebase. Plugins can do a variety of things, including overriding commands, adding new commands, providing additional network transports, customizing log output, etc. Bazaar's developers give the plugin architecture a lot of attention, ensuring that it's one of the most comprehensive revision control plugin systems available.

Available plugins

This section lists plugins for Bazaar that are available under a free software licence. Please do not add non-free plug-ins to this page unless they are read-only, in the sense that they are designed primarily to provide a migration pathway from a non-free revision control system to Bazaar.

How to read these listings:

  • Names with links are included in the Bazaar Plugins Guide. Click on the link for more detailed documentation.

  • Branch and Development URLs point to bzr branches, which may look like empty directories if you open them in a web browser. Instead, use bzr branch <url> to download them. You can then keep them up to date simply by changing into the directory with the plugin code and typing bzr pull, which will update that plugin to the latest revision of that branch.

  • At right side of tables you can see info about plugin compatibility with different platforms. If a platform isn't listed, it may work on that platform but it hasn't been tested there. If a platform image is given with a cross through it, the plugin is known not to work on that platform.

Web

Name

Description

URLs

Owner

Platforms

launchpad

Integration with https://launchpad.net

Bazaar Developers

linux.png windows.png mac.png

loggerhead

Recommended web interface for Bazaar (see also WebInterfaces for information about non-plugin web interfaces to Bazaar)

Home

MichaelHudson and MartinAlbisetti

webdav

Support writing to WebDAV branches

Home

VincentLadeuil

linux.png

webserve

A web interface to Bazaar (see also WebInterfaces for information about non-plugin web interfaces to Bazaar)

Download, Browse, Development

GoffredoBaroncelli

linux.png

xmloutput

adds a "--xml" option to log, and provides an "xml version" of the following bazaar commands: log, status, annotate, missing, info, plugins and version, ls

Home, Branch

GuillermoGonzalez

linux.png windows.png mac.png

Desktop

Name

Description

URLs

Owner

Platforms

encdiff

Yet another diff plugin. this plugin detect file encoding and convert it(UTF-8/EUC-JP/SJIS and so on) automatically to default one(may be cp932 or something else).

Home, Branch

HAYASHI Kentaro

windows.png

explorer

Desktop application for Windows, GNOME, KDE and OS X. Wraps QBzr and/or bzr-gtk applets.

Home, Download, Branch

Bazaar Explorer team

linux.png windows.png mac.png

extmerge

Calls external merge tools to help resolve conflicts

Home

ErikBågfors

linux.png windows.png

commit-selector

Simple helper to select files to commit. qcommit (from QBzr) and gcommit (from BzrGtk) are better alternatives.

Home

AlexanderBelchenko

linux.png windows.png

difftools

Graphical diff tools

Download, Branch

StephenWard

linux.png windows.png mac.png

gtk

GTK+ frontend of some Bazaar commands

Home, Branch

Bazaar-GTK team

linux.png windows.png mac.png

interactive

Adds user interaction to the core commands (only commit and record-patch for now)

Branch

AliSabil

linux.png windows.png

proe

Helper tools to use Bazaar together with PTC's Pro/ENGINEER

Home

PascalBach

linux.png windows.png mac.png

qbzr

Qt frontend for some of Bazaar commands

Home, Branch

QBzr developers

linux.png windows.png mac.png

vimdiff

Display differences between revisions of a file, using vimdiff

Branch

MartinPool

linux.png

GroundControl

Bazaar GUI tightly integrated with Nautilus and Launchpad

Home, Branch

Martin Owens

linux.png

Publishing

Name

Description

URLs

Owner

Platforms

automirror

Automatically update a remote working copy upon commit.

Branch

NeilMartinsenBurrell

linux.png windows.png mac.png

nicehtml

generates an extended branch html information page using Jinja and pygments

Branch

FriedrichWeber

linux.png

pastebin

Paste a patch to pastebin and return the pastebin url.

Branch

AliSabil

linux.png windows.png mac.png

push-and-update

Provide the "push-and-update" command to automate the running of 'ssh remote bzr update path' after pushing to sftp://remote/path. This allows us to keep a remote working tree up to date.

Home

JohnArbashMeinel

linux.png

repo-push

Push a repository to a remote location, along with all its branches

Home

JamesHenstridge

linux.png windows.png

upload

Upload *just* the working tree, and keep track of what has been sent for incremental uploads. Mostly oriented towards web development.

Home

VincentLadeuil, MartinAlbisetti

linux.png windows.png mac.png

Change notification

Name

Description

URLs

Owner

Platforms

branchfeed

Create ATOM feeds in .bzr/branch/branch.atom during commit/push/pull (see also FeedGenerators for information about non-plugin feed generators)

Home

RobertCollins

linux.png windows.png mac.png

cia

Submit commits to CIA

Home, Branch

JelmerVernooij

linux.png

email

Send email after commit, e.g. to bazaar-commits mailing list

Branch

RobertCollins

linux.png

publish-bot

Publish commits to IRC

Home

ChristopherArmstrong

linux.png windows.png mac.png

shell-hooks

Support for running external commands in hooks.

Branch

JelmerVernooij

linux.png

Change control

Name

Description

URLs

Owner

Platforms

checkeol

Pre-commit hook to check files for correct line-endings

Branch

AlexanderBelchenko

windows.png

pqm

Submit commands to a PQM service

Branch

JohnArbashMeinel

linux.png

testrunner

"Poor man's PQM": specify a command that must succeed before a change is allowed in a branch

Home

PaulHinze

linux.png

text-checker

Help avoid committing trailing white space and other undesired text.

Home, Branch

MariusKruger

linux.png

History exploration

Name

Description

URLs

Owner

Platforms

bisect

Find the revision introducing a bug with a binary search

Home

linux.png

countlog

Easy activity summary showing how many times each file is changed and when most recent change took place

Home

Pileofrogs

linux.png

diffstat

Diff statistics

Home, Branch, Development

Russ Brown

linux.png windows.png

file-revno

Efficiently returns the revision number(s) modifying a file.

Home

RobertWidhopf

linux.png windows.png mac.png

gnulog

GNU changelog formatter for bzr log

Download

GustavoCarneiro

linux.png windows.png mac.png

htmllog

Bzr log in html format.

Branch

MichaelEllerman

linux.png windows.png

grep

Grep through files known to bzr (experimental)

Home

VincentLadeuil

linux.png mac.png

hgrep

Grep through history (experimental)

Home

MichaelEllerman

linux.png

lastlog

Shows most recent commit messages

Home

WouterBolsterlee

linux.png

search

Generate full text indices of branch history. Can be queried from the command line or loggerhead.

Branch, Browse

RobertCollins

linux.png windows.png mac.png

stats

Show stats like authors or commits over time

Branch

JohnArbashMeinel

linux.png windows.png mac.png

Productivity

Name

Description

URLs

Owner

Platforms

automv

Automatically detect renames/moves in the working tree.

Branch

Lukáš Lalinský

linux.png

bookmarks

Bookmarking system for often used branch locations/URLs.

Home

Lukáš Lalinský

linux.png windows.png mac.png

bzrtools

Miscellaneous enhancements

Home

AaronBentley

linux.png windows.png mac.png

commitfromnews

Create default commit messages from changes to NEWS files.

Project Branch

RobertCollins

linux.png windows.png mac.png

extcommand

Support for calling bzr-CMD scripts or aliases involving external programs from within bzr.

Branch, Browse

Lukáš Lalinský

linux.png

externals

Support external branches

Home

Eugene Tarasenko

linux.png windows.png mac.png

ezbzr

Iterates a command for each revno

Home

TimPowell

linux.png mac.png

lightweight-branch

Lightweight branching of lightweight checkouts

Home

AlexanderBelchenko

windows.png

merge-into

Make it easier to merge another project into this one

Home

JohnArbashMeinel

linux.png

recursive-upgrade

Adds --recurse option to upgrade command

Branch

JelmerVernooij

linux.png windows.png mac.png

repoalias

"repo:" shortcut for the repository root

Home

Marien Zwart

linux.png windows.png mac.png

rxrename

Renames multiple files using a regexp

Home

EduardoPadoan

linux.png

scmproj

Organizing set of VCS branches as united project (experimental unofficial emulation of nested trees)

Home

AlexanderBelchenko, MariusKruger

linux.png windows.png

touch

Like *nix touch(1) but for bzr

Home

BarryWarsaw

linux.png mac.png

undelete

Step through history and undelete to last known version of file(s)/dir(s). Allows searching history using regex for filename.

Home

ParthMalwankar

linux.png

update-mirrors

Updates all the branches in a directory

Branch

JohnArbashMeinel

linux.png

Patch management

Name

Description

URLs

Owner

Platforms

loom

Manage a loom of patches (like Mercurial Queues)

Home

RobertCollins

linux.png windows.png mac.png

pipeline

Work on large changes as smaller pieces

Home, Branch

AaronBentley

linux.png

rebase

Rebase (like git-rebase)

Home, Branch

JelmerVernooij

linux.png windows.png

remove-revisions

Completely remove revisions from a repository

Branch

JelmerVernooij

linux.png windows.png

Foreign branches

Name

Description

URLs

Owner

Platforms

cvsserve

Export Bazaar branches to CVS clients

Home

JohanDahlin

linux.png

git

Support for Git branches

Home, Branch

RobertCollins, JelmerVernooij

linux.png windows.png mac.png

hg

Support for Mercurial branches

Home, Branch

RobertCollins, JelmerVernooij

linux.png windows.png mac.png

svn

Support for Subversion branches

Home

JelmerVernooij

linux.png windows.png mac.png

tfs

Support for Microsoft Team Foundation Server branches

Home

JohnBarstow

?

cvs

Plugin that indicates CVS is unsupported

Home

RobertCollins

linux.png windows.png mac.png

mtn

Plugin that indicates Monotone is unsupported

Home

JelmerVernooij

linux.png windows.png mac.png

Migration

Name

Description

URLs

Owner

Platforms

bazimport

Convert Baz 1.x to Bazaar-NG

Branch

AaronBentley

linux.png

cvsps-import

Import CVS branches into Bazaar, using cvsps to extract patchsets. Supports importing multiple branches

Home

JohnArbashMeinel

linux.png

fastimport

Fast loading of history into Bazaar from most popular tools. Supports multiple branches and mirroring.

Home

IanClatworthy

linux.png windows.png mac.png

Performance tuning

Name

Description

URLs

Owner

Platforms

dns-cache

Cache DNS requests, greatly speeding up urllib.urlopen requests

Branch

JohnArbashMeinel

linux.png

gzipped-bundle

Allow create and merge gzipped bundles

Home

AlexanderBelchenko

linux.png windows.png

historycache

Cache branch history for faster log and revno lookup

Home

IanClatworthy

linux.png windows.png mac.png

network-manager

Automatically use --local when network manager says connection is down.

Home

JelmerVernooij

linux.png windows-no.png mac-no.png

pack-indices

Re-pack knit indices to give smaller downloads.

Home

JohnArbashMeinel

linux.png windows.png mac.png

quickbranch

Make .bzrcache.gz of the .bzr directory at every commit (fast branching)

Home

KeirMierle

linux.png

service

Keep bzrlib loaded in memory

Home

JohnArbashMeinel

linux.png

Diagnostics

Name

Description

URLs

Owner

Platforms

depend

Show versions of installed libraries used by bzr

Home

AlexanderBelchenko

windows.png

Testing

Name

Description

URLs

Owner

Platforms

benchdisplay

Format bzr benchmark times as a nice HTML page

Branch

Carl Friedrich Bolz

linux.png

usertest

Benchmark Bazaar on user provided source trees.

Home

IanClatworthy

linux.png windows.png

Linux/UNIX specific

Name

Description

URLs

Owner

Platforms

bash-completion

BASH completion for BZR

Home, Branch

Martin von Gagern

linux.png windows.png mac.png

builddeb

Build Debian packages from Bazaar branches

Branch

JamesWestby

linux.png

dbus

Integrate bazaar with dbus

Branch, Browse

RobertCollins

linux.png

notification

Send freedesktop.org notification dialogs when push or pull completes

Home, Branch

JasonSmith

linux.png

lessdiff

Bzr diff in colour and paged with less (or $PAGER)

Branch

MichaelEllerman

linux.png

lesslog

Bzr log paged with less (or $PAGER)

Branch

MichaelEllerman

linux.png windows-no.png

pager

Run commands producing long output in a pager ($PAGER or less). This is similar to the lastlog plugin, but more generic and supports more commands (log, diff, cat, help, status).

Home

Lukáš Lalinský

linux.png windows-no.png

tcsh-completion

TCSH completion for BZR

Branch

RobertWidhopf

linux.png windows-no.png

Windows specific

Name

Description

URLs

Owner

Platforms

docdiff

diff plugin for office document such as Word/Excel and so on.

Home, Branch

HAYASHI Kentaro

linux-no.png windows.png mac-no.png

x-bit

Control x-bit inside of bzr inventory. Primarily intended to use on win32

Home

AlexanderBelchenko

windows.png

OS X specific

Name

Description

URLs

Owner

Platforms

mail-app

Use MacOS X's Mail.app to compose and send emails

Branch

BrianDeAlwis

mac.png

Miscellaneous

Name

Description

URLs

Owner

Platforms

setuptoolsbzr

Allows Python's setuptools package to grok Bazaar the same way it currently groks CVS and SVN. This is really a plugin for setuptools

Home

BarryWarsaw

linux.png mac.png

Experimental

Name

Description

URLs

Owner

Platforms

colocated

Colocated branches support (aka git-style branches)

Branch

JelmerVernooij

linux.png

win32symlinks

Provide support for bzr internals for fake symlinks in cygwin format on win32 native. (Warning: this plugin no more maintained by author)

Home

AlexanderBelchenko

linux-no.png windows.png mac-no.png

Old plugins

Out of Date

These plugins are incompatible with recent releases of Bazaar, or the URL gives 404 error.

Platform

Name

Part of

Owner

GNU/Linux

Windows

Mac

Description

Home

fileid

None

ThomasGerigk

?

?

Modifies file-ids according to a list

http://www.towerlin.de/BRANCHES/fileid/

graft

None

JamieWilkinson

?

?

Graft branches onto the end of others

http://repo.spacepants.org/bzr/plugins/graft/

release

ezbzr

NathanielMcCallum

?

?

Merges a local branch into a remote one

http://www.natemccallum.com/software/ezbzr/

reweave

None

MartinPool

?

?

Update history, inserting ghosts

Download

submit-by-mail

None

HermannKraus

?

?

Submit changes by email and verify senders identity through gpg before applying it.

URL to branch

tags

None

MichaelEllerman

?

?

Explicitly versioned tags.

http://michael.ellerman.id.au/bzr/plugins/tags

atomlog

None

SimonRozet

?

?

?

Bzr log in atom format.

Branch

Obsolete

There are a number of obsolete plugins.

Managing plugins

Listing the installed plugins

A few plugins are installed by default by the Windows and OS X installers. To see the plugins already installed and their locations, use the Tools > Plugins menu option in Bazaar Explorer or run:

  • bzr plugins

on the command line.

Installing a plugin

Installing a plugin is very easy! One can either install a plugin systemwide or on a user-by-user basis. Both methods involve creating a "plugins" directory, within which one places plugins in subdirectories. For example, "plugins/bzrtools/".

Two locations are currently checked: the bzrlib/plugins directory (typically found in something like /usr/lib/python2.6/site-packages/bzrlib/plugins/) and $HOME/.bazaar/plugins/ (or on Windows, $APPDATA/bazaar/2.0/plugins).

If you want to install a plugin into your .bazaar/plugins/ directory, just move the extension directory in there and then run python setup.py build_ext -i.

One can additionally override the home plugins by setting the environment variable BZR_PLUGIN_PATH to a directory that contains plugins. The installation of a plugin can be checked by running  bzr plugins  at any time. New commands can be seen by running  bzr help commands .

Plugin folder names may not contain dashes like bzr-gtk. Instead, rename such plugin directories to something without a dash, e.g., gtk.

Additional dashes may be converted to underscores, for example:

bzr branch lp:bzr-push-and-update ~/.bazaar/plugins/push_and_update

Tip for developers

If you are tracking the "tip" of Bazaar, using the cutting edge development version and keeping it up to date, then you can easily do the same with most of the plugins. For example, to install the bzrtools plugin for your main user account, run:

bzr branch lp:bzrtools ~/.bazaar/plugins/bzrtools

After doing this, you can update the bzrtools plugin to its tip at any time with:

cd ~/.bazaar/plugins/bzrtools; bzr pull; cd -

Writing a plugin

See Developing a plugin