bzr could definitely benefit from using the parent branch as a stacking hint, where launchpad is concerned
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
High
|
Unassigned |
Bug Description
When pushing a branch to launchpad, based on a branch pulled from launchpad, bzr would benefit from using :parent as the default stacking branch.
I discovered this by branching lp:~ubuntu-core-dev/debian-installer/ubuntu and pushing to ~persia/
maxb kindly attempted to push a small branch from the same parent, forcing stacking on the parent, with only 67kB of transfer required, and for a branch push time approaching 4 seconds.
tags: | added: check-for-breezy |
We (bzr) could definitely do a lot better in the special case of Launchpad with some heuristics that included considering the branch parent as a stacking location, to accomodate the use-case of a long-term branch of a project (e.g. ubuntufication of d-i) which wants to use Launchpad's code review features (and so lots of feature branches are being pushed, which routinely contain revisions which will never enter the dev focus branch).
We'd need to a be a little careful, since in non-Launchpad cases, stacking a remote branch on some arbitrary URL is probably always the wrong thing to do, since there is no guarantee the other branch is sufficiently public *or* sufficiently persistent to serve as a stacking base.
Other issues: we will have to consider is how much time we can reasonably take to probe branches for suitability as a stacking base before we make a decision and start actually transferring data. We will have to figure out whether any level of opt-in is required for branches to be considered as stacking bases, and if so who has permissions to do so.