This is the design for the first iteration of the client tools for DistributedDevelopment. Some of the issues behind the design choices were discussed in DistributedDevelopment/ClientToolsDiscussion

The first iteration will be a bzr plugin. Each of the provided features is outlined below.

Getting the source

The source will be retrieved using the "branch" or "checkout" commands. The "lp" directory service will be extended to support source package branches.

The directory service itself should resolve the branches already, the changes are just needed on the launchpad side. This must be done before testing can be done.

Building the source

The source can be built by "debuild" with the "-i" and "-I" options.

"bzr builddeb" can also be used. For this case it should be modified to behave the same as "debuild".


"debcommit" will still be recommended for committing, though it will be extended to automatically supply "--fixes".


The process requires tagging an upload with a specific tag. A command "mark-uploaded" will be added that adds this tag based on debian/changelog. Neither the upload nor the push will be automated for the first iteration.


The usual "bzr push" will be used for pushing back to lp.



Bug fixes

  • Fix the tarball downloading from builddeb.


DistributedDevelopment/ClientToolsV1Design (last edited 2009-04-02 09:33:11 by i59F72099)