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.