Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Feed generators for bazaar

As a way of introducing this topic, I decided to make my own feed generator because using email to notify of changes was just annoying me. Also as of version 0.18 bazaar does not have a plugin for push email notification, which is what I wanted (when users pushed their changes to the central repository). So I figured a feed would be a perfect solution.

Existing feed generators

There are several existing feed generators for bazaar already. They are:

  • BranchFeed: This package installs as a plugin and after every commit/push updates a file .bzr/branch/branch.atom.

  • bzr-feed: This is a cgi-script that generates the feed on the fly.

  • php-bzr-feed: This is a php based feed generator that generates the feed on the fly as well.

  • bzr-log-rss: Provides a log formatter for generating RSS data. (bzr log --rss).

Features of php-bzr-feed

  • Written in php (quick and dirty language that most web servers have running).
  • Generates a fairly pretty rss2.0 feed of any bazaar url you send to it.
  • Takes a parameter to specify how many revisions to show in the feed.
  • The same script will also generate a web page for the revision history shown in the feed, thus giving you something useful to click on in your rss reader.
  • The script also produces a diff (does not work for remote repositories since bazaar doesn't support remote repository diff'ing just yet), so when you click on a particular feed element, it brings up the diff in your web-browser.
  • Has a simple Ruby on Rails type format string for how the rss is generated for each element, and how the html is generated, so it can be customized easily.
  • You can lock down the script to only serve from a list of possible url regexps, or you can specify a single url, so that users can't try using your web server to view their stuff on another server.
  • Only makes to shell calls to bzr in the php script, once to get the current revision number, and once to get all the revision logs it will post.