Comment 1 for bug 791609

Revision history for this message
Max Bowsher (maxb) wrote :

Looking at the apt example referenced in a duplicate, I'm conjecturing the following possible sequence of events:

There's an upload to natty-proposed, which gets imported.
That upload somehow also ends up pulled in the oneiric branch, despite never actually being published in oneiric (?how?).
Then there's an actual upload to oneiric, but including the changelog history referencing the above natty-proposed version. The natty-proposed version gets collided out of the mainline of the oneiric branch, but then added back in as a merge.
When the importer goes to file the MP, the collision side branch is already fully within the ancestry of the target branch, so the diff is empty.

It seems to me that there's a class of genuine collision when we can prove require no further action - those when the debian/changelog entries give us sufficient cause for the existing import logic to add the collided content as a merge parent.

To avoid creating spurious MPs in these cases, I suggest we should check whether the collision side branch is within the ancestry of the target branch before filing MPs, and simply skip reporting the collision at all if that is the case.