Comment 2 for bug 136939

Revision history for this message
David Allouche (ddaa) wrote :

The problem is that there is no way to know that a branch is being changed without looking at it. As Jonathan says "[changes to the branch] isn't the same as commits to the branch." Typically commits happens locally on the developer's workstation and are then pushed to the public location.

So there is no way to measure "the average time between a branch changing and that change being mirrored" because the act of detecting changes is the act of mirroring. At most, we could use a statistical model of update times...

I can imagine two approaches to improve the system:

 1. The user has a plugin that notifies Launchpad when pushing to the public location, mirroring can be done immediately. That is limited by requiring active cooperation from the owner of the mirrored branch, but I believe that would satisfy a genuine use case: "I do not want to host my code on Launchpad, but I want to benefit from Launchpad's added value." It is not clear how much of a use case this is really.

 2. When mirroring finds changes, the mirroring interval for the branch is automatically decreased. When mirroring finds no change, the mirroring interval is automatically increased. (Handwaving about the amount by which the interval should be increased and decreased).