Copies use naïve ancestry check to calculate previous version for notifications and bug closures

Bug #1102870 reported by Colin Watson
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
High
Unassigned

Bug Description

If you copy a package from PROPOSED to UPDATES that didn't previously exist in UPDATES, only in RELEASE, then acceptance announcements and bug closures happen with reference to the wrong previous version. For example:

  https://lists.ubuntu.com/archives/quantal-changes/2013-January/012917.html
  https://launchpad.net/ubuntu/+source/duplicity/0.6.19-0ubuntu2.2

The previous effective base version was 0.6.19-0ubuntu2, but I had to close the bugs from 0.6.19-0ubuntu2.1 by hand. These are both due to the same underlying problem: the ancestry calculation is far too naïve. I think reusing NascentUpload.getSourceAncestry would provide the correct logic and save introducing yet another variant of ancestry calculation into Launchpad (there are already at least three different ones), but it would have to be moved somewhere more sensible than archiveuploader. Note, though, that if there is no previous version at all in either RELEASE or UPDATES (which does happen occasionally) then Launchpad should consider the entire changelog, not just the most recent entry.

This is a long-standing problem. To work around it, and a similar bug in sru-report which I fixed on Saturday, we have been telling uploaders of SRUs to use debuild -v<previous version in release/updates>. However, this is cumbersome, easy to forget, and is already not always honoured. I would prefer to fix the tools so that people don't have to care.

Changed in launchpad:
status: New → Triaged
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.