Getting your own list of fine merges

For those of you that wonder how I’ve put up the list of fine merges from the Ubuntu Server team, I’ll shed some light on the process I’ve followed. I’m not going through the list of hundreds of merges. Instead I’m reading the Ubuntu Server merge report which includes only packages relevant to the Ubuntu Server team.

This page is generated by a small python script that narrows down the list of merges to a set of packages related to the ubuntu-server team in launchpad. Moreover each merge has more details than the report pages generated by Merge-O-Matic: changelog entries from Ubuntu and Debian, diff statistics from the generated patches.

How-to get started

The script and the necessary bits are available in bzr.

To get started, you need to install the python-mako and python-magic packages:

sudo apt-get install python-mako python-magic

Then checkout the bzr branch:

bzr branch lp:~mathiaz/+junk/get-merges

Change your directory to the get-merges branch just created and generate your report:

cd get-merges/
./ lp-id

After some minutes you should find a file named lp-id.html with a list of merges relevant to the LP id.

The list of packages relevant to the team is gathered from the LP id package report page (example: the ubuntu-server page). An additional list of package can be added via a local file named lp_id.list (there is an example file (ubuntu-server.list)  in the script directory). Files related to the merge (.patch and .diff.gz files) are downloaded from Merge-O-Matic and cached locally in the merges/ directory. The mako template engine is used to generate the final report. Have look at the style.css and get_merges.mako files in order to customize the output.

Hopefully this script will help the merging effort that the Ubuntu Developer team is currently doing. You can create your personal merge list and filter out packages you’re not interested in. And if you ever get down to an empty list, you can always ask Merge-O-Matic for more !

Leave a Reply