Distributed Development in Lucid

Registered by Robbie Williamson

Plan how to make the Debian Maintainer's branches mergeable (where declared). This will mean that you can merge from the Debian maintainer's branch and also submit patches back against them.

Blueprint information

Robbie Williamson
James Westby
Needs approval
James Westby
Series goal:
Accepted for lucid
Slow progress
Milestone target:
Started by
James Westby


Work items:
[jml] contact IS about getting new machines for code imports. There are 2 things we need to do to make better use of our existing machines. See bug 236973 and bug 487357: DONE
[cjwatson] make moderation of ubuntu-reviews easier by asking IS to accept headers from LP (RT#36703): DONE
[james-w] Discuss with LP developers need to import non-master branches from git: DONE
[jelmer] Able to import non-master branches in LP (bug 380871): INPROGRESS
[james-w] Communicate to LP developers that there will be maybe 5000 new vcs-imports coming and discuss whether they are ready or whether we need to do some work first: DONE
[james-w] Discuss with LP developers need to have an API for creation of code imports and need for lack of approval of these: DONE
[james-w] LP API to register code imports (bug 366102): INPROGRESS
Removal of requirement of approval of new code imports, at least for these: TODO
[james-w] Write a script to request imports of all supported Vcs-* branches and keep the list of imports up to date (with possible heurstics for git branches): TODO
[james-w] Discuss with LP developers need for an API to request a vcs-import happen ASAP: DONE
[james-w] LP API to request a vcs-import happen ASAP (bug 416363): INPROGRESS
[james-w] Investigate how to determine last time an import happened via the API: DONE
[james-w] Investigate bzr-rebase, and how much it can help with both the heurstics and migration: DONE
[james-w] Write heuristic to detect whether a branch is full source or ./debian/ only: TODO
[james-w] Write heuristic to guess which revision corresponds to a particular upload: TODO
[james-w] Write code to include Debian maintainer's branches when doing an import: TODO
[james-w] Test some imports with Debian maintainer's history: TODO
[james-w] Write code for using bzr-rewrite to rewrite the revision ids in a branch for the migration: TODO
[james-w] Write code for rewriting the file ids in a branch for the migration: TODO
[james-w] Extract the maps from the old and new branches and publish them so the above can be used: TODO
[james-w] Write a migration guide for rewriting: TODO
[james-w] Publicise widely that rewriting will be needed and how to do it: TODO
[james-w] Re-import all packages we have a vcs-import for: TODO
[james-w] Discuss with LP developers desire to have Vcs-* automatically overriden to XS-Vcs-* and replace with a Vcs-Bzr to the offical branch: TODO
Vcs-* automatically overriden to XS-Vcs-* and replace with a Vcs-Bzr to the offical branch: TODO
[jameinel] Make merging of changelogs more pleasant by adding special handling in merge-package: DONE
[james-w] Run some training sessions on sponsoring changes from bzr: TODO
[james-w] Decide which team should be the default reviewer for merge proposals (~ubuntu-reviews ~ubuntu-dev?): INPROGRESS
[james-w] Discuss with LP how to make Ubuntu merge proposals to set that team as the default reviewer: DONE
[james-w] Ubuntu merge proposals use that team as the default reviewer: TODO
[james-w] Improve error message for 'merge-package blew up with "unable to merge upstream"': TODO
[james-w] Investigate why mathiaz got this on libdbd-mysql-perl and whether this is a bug: TODO
[james-w] Request the "Current Development series" of Debian be changed to sid on LP after Lucid: TODO
[james-w] Request "symlinks" from lp:debian/testing/foo to lp:debian/squeeze/foo (bug 523303): DONE
[james-w] Discuss with LP developers showing a different diff when a new upstream version is merged: TODO

* Importing non-master branches from git has a plan, but no code yet.
* The import API tasks on LP that would allow us to import the Debian branches in batch have not been started.

Gobby notes from UDS-L:

Make debian trees mergeable before upstream? Not necessarily highest value, but easier (don't have to resync both sides) and will serve as a useful trial run.

Can't know which git branch is the one we want, and then we can't import non-master
branches in to LP. The latter can be fixed.

Probably 5000 new vcs-imports.
  - LP can handle this given more hardware.
  - Registering them will be a pain.
    - LP should expose them in the API so that we can do it ourselves.
    - Also removing the approval requirement.

Need an API to say "import now"; there is a button in the web interface.

How to find when an upstream has changed its repository URL? Vcs-* for upstreams
might help us out. Heuristics to notice sudden drop of commit rate to zero?

Can poll to find out when a code import has been tried, but this is suboptimal for Launchpad; asynchronous notification not expected very soon, though.

To merge a ./debian/ only branch in to a full source one, just force the file-ids
to match.

Heuristics to detect which revision is the one that corresponds to the upload that
we are processing. bzr-rebase probably has some stuff to help with this.

Override Vcs-* to XS-Vcs-* and put in the official source package branches?

Colin isn't using the "official" branches as he has richer history already.
"Migration from a previous bzr world is still rather painful".

We will make merging of changelogs more pleasant. This won't apply where you
don't use merge-package until bzr has the infrastructure for this.

Merge requests from contributors are not always welcome. Maco suggests a session
to teach people.

Merge proposals default to a wrong team. We should set this to the ubuntu-reviews team.

Would be cool to have (automatic?) progress tracking.

New ubuntu-distributed-devel mailing list - Discussion of the Ubuntu Distributed Development initiative

When filing bugs on this in LP use the "package-branches" tag


Work Items