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". == Committing == "debcommit" will still be recommended for committing, though it will be extended to automatically supply "--fixes". == Tagging == 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. == Pushing == The usual "bzr push" will be used for pushing back to lp. == TODO == === Features === * Remove the cruft from bzr builddeb to make it more like debuild. Done in trunk. * Add --fixes support to debcommit. Done: https://bugs.edge.launchpad.net/debian/+source/devscripts/+bug/261445 * Add mark-uploaded command. Done in trunk. === Bug fixes === * Fix the tarball downloading from builddeb. ---- CategoryDistributedDevelopment