Project

Profile

Help

Issue #7291

Updated by ttereshc over 3 years ago

When combining content to make a new repository-version, there is a specific edge-case that results in an advisory that exists in both places to be merged into a single new advisory. In this case, current pulp_rpm code "reuses" the UpdateCollections from the previous advisory edvisory in such a way that tha they 'belong to' both the previous and the newly-merged/created advisory. 

 This is a different usage-pattern than that used for any other sub-object of an advisory. It also prevents us from linking an UpdateCollection directly (and only) to its 'owning' advisory, which is desirable for a number of reasons (see #5740 and #7195 for examples)  

 We need to: 
 * teach merge_advisories() to make a deep copy of the 'previous_advisory' collections and their packages 
 * point the new copies at the new advisory 
 * build a data-migration to find and fix existing instances of an UpdateCollection being linked to multiple advisories

Back