Sat, 20 Sep 2008
The Updated State of PQM
Having come to the end of my summer work on PQM, I thought I would give an update on where the patches I mentioned in The State of PQM are. Unfortunately, there has not been a great deal of change to most of them.
Patches that have been merged
Patches up for review
These patches are currently in BundleBuggy, waiting for review or merging:- Already approved: Reporting details of successful merges
- Trivial patches: Fixing test stipple, making tests pass, web UI fixes for legacy commands, fix email failures due to a lack of merge base
- Merge directive support: This is largely a reworking of Aaron's previous work on this. It's functional, and reasonably well-tested, but I'm not entirely convinced that it fits the abstraction correctly. I'm not sure that this is the case, but it certainly needs thought.
- Reporting details of successful merges: This is just a cleanup of Tom Haddon's patch on Bug #55717, and is reasonably trivial.
- Reporting of errors caused by unknown branch formats: This is, again, a pretty trivial patch. It fixes Bug #246660, which a couple of people have hit recently.
- Switching the web UI to SimpleTAL: This makes the Web UI code much nicer and easier to modify. It also lays the foundations for further work on the web UI, including RSS feeds. It has received several rounds of review, so should be pretty much there.
- Removed Arch-specific commands: As Robert and I discussed in London, some existing commands shouldn't be needed by any Arch implementation (and certainly aren't required by bzr). This patch removes those commands.
- 'nodebug' command: Adds a nodebug command, so that only specific parts of a given script have to have debug enabled.
- TestCaseWithQueue: Converts the tests to use a TestCaseWithQueue, which abstracts away queue creation. This will allow for testing of several different scenarios, which is especially helpful in testing the UI.
Patches in the wings
These patches are waiting on patches in the above list to be merged:- UI Unicode fixes: Depends on the SimpleTAL changes. Fixes encoding issues with displaying Unicode names in the web UI, fixing Bug #125888.
- New UI tests: New UI tests using the TestCaseWithQueue changes. This improves the test coverage of the UI by a considerable amount.
- RSS feeds: This adds RSS feeds for each PQM project, containing the same information as is given in the Web UI, fixing Bug #133229.
- PatchCommand: This moves the logic for accepting patches from CommandRunner to a separate PatchCommand. This is the first step towards removing CommandRunner entirely.
- XMLRPC: This is a loom containing two threads of work:
- 'xmlrpc': The basic XMLRPC functionality. This includes some email-message-related abstractions, so that both the email and XMLRPC interfaces could use the same functions. This fixes Bug #246845.
- 'xmlrpc-validation': Validation of incoming XMLRPC requests. This takes each command in the incoming script and checks that branches it references are valid and that the submitter has commit access to them. It goes some of the way towards fixing Bug #110433.
Patches in progress
These patches are currently in development:- TagCommand: This branch adds a TagCommand, intended to replace the functionality in CommandRunner. The CommandRunner code is not removed, and there are some issues with 'tag' meaning different things in Arch and bzr.
Posted: Sat, 20 Sep 2008 12:34 | | Comments: 0
Fri, 01 Aug 2008
The State of PQM
So, I thought I would take some time to break down what I've been working on.
Some of this has been posted to the list, so I'll skim over that, but some of it
is so dependent on the work that's awaiting review that there wasn't much point
in getting it reviewed separately. I'll try to cover that in slightly more
detail.
Patches up for review
These patches are currently in BundleBuggy, waiting for review or merging:- Already approved: Reporting details of successful merges, fixing backtrace when checking signed emails
- Trivial patches: Fixing test stipple, making tests pass, web UI fixes for legacy commands, fix email failures due to a lack of merge base
- Merge directive support: This is largely a reworking of Aaron's previous work on this. It's functional, and reasonably well-tested, but I'm not entirely convinced that it fits the abstraction correctly. I'm not sure that this is the case, but it certainly needs thought.
- Reporting details of successful merges: This is just a cleanup of Tom Haddon's patch on Bug #55717, and is reasonably trivial.
- Reporting of errors caused by unknown branch formats: This is, again, a pretty trivial patch. It fixes Bug #246660, which a couple of people have hit recently.
- Switching the web UI to SimpleTAL: This makes the Web UI code much nicer and easier to modify. It also lays the foundations for further work on the web UI, including RSS feeds. It has received several rounds of review, so should be pretty much there.
- Removed Arch-specific commands: As Robert and I discussed in London, some existing commands shouldn't be needed by any Arch implementation (and certainly aren't required by bzr). This patch removes those commands.
- 'nodebug' command: Adds a nodebug command, so that only specific parts of a given script have to have debug enabled.
- TestCaseWithQueue: Converts the tests to use a TestCaseWithQueue, which abstracts away queue creation. This will allow for testing of several different scenarios, which is especially helpful in testing the UI.
Patches in the wings
These patches are waiting on patches in the above list to be merged:- UI Unicode fixes: Depends on the SimpleTAL changes. Fixes encoding issues with displaying Unicode names in the web UI, fixing Bug #125888.
- New UI tests: New UI tests using the TestCaseWithQueue changes. This improves the test coverage of the UI by a considerable amount.
- RSS feeds: This adds RSS feeds for each PQM project, containing the same information as is given in the Web UI, fixing Bug #133229.
- PatchCommand: This moves the logic for accepting patches from CommandRunner to a separate PatchCommand. This is the first step towards removing CommandRunner entirely.
Patches in progress
These patches are currently in development:- XMLRPC: This is a loom containing two threads of work:
- 'xmlrpc': The basic XMLRPC functionality. This includes some email-message-related abstractions, so that both the email and XMLRPC interfaces could use the same functions. This fixes Bug #246845.
- 'xmlrpc-validation': Validation of incoming XMLRPC requests. This takes each command in the incoming script and checks that branches it references are valid and that the submitter has commit access to them. It goes some of the way towards fixing Bug #110433.
- TagCommand: This branch adds a TagCommand, intended to replace the functionality in CommandRunner. The CommandRunner code is not removed, and there are some issues with 'tag' meaning different things in Arch and bzr.
Posted: Fri, 01 Aug 2008 05:54 | | Comments: 0
Sun, 27 Jul 2008
Hello, Planet Bazaar!
So, this is my first post on Planet Bazaar. For those of you who don't know,
I'm Daniel Watkins, known as Odd_Bloke in IRC. I'm currently studying
Computer Science at the University of
Warwick in the UK, though I will be taking an Intercalated Year next year
to work in industry.
As far as Bazaar work goes, my contributions to bzr.dev have been mostly UI- or test-related, often just fixing bugs that have been reported on Launchpad. This summer, I'm working for Canonical on Patch Queue Manager (universally known as PQM), to improve the quality of the code, to make it more usable and to make it easier to set up. I'm planning some blog posts on PQM in the near future, so hopefully I will be able to give people who don't know a better idea of what PQM does and why it can be valuable.
Posted: Sun, 27 Jul 2008 01:48 | | Comments: 2