xbmc/xbmc — pull request #3878 by jmarshallnz (2013-12-21 02:56:18+00:00)
Title: Check versions when marking as broken - no point marking old versions as broken when new versions exist

1. When updating repositories, only bother parsing the most up to date version (across repositories). A bunch of users have the superrepo (frodo) repository installed, which duplicates all the add-ons in the main XBMC repo. If this is a bit out of date, then the new versions from the XBMC repo will be parsed and marked as not broken (as they're not) and then the old ones from superrepo will be parsed and the add-ons marked as broken (unmet deps). This is clearly wrong.

We already do this when parsing a multi-repo repository (e.g. the gotham/frodo mixed repo at XBMC.org) - extend this same idea to when parsing multiple repositories.

Note that this means that only the most up to date version will ever be considered. This is consistent with how basically everything works in XBMC add-ons anyway (i.e. there's no way to install an old version of an add-on other than installing directly from a package zip).

2. Only mark add-ons as broken (or as fixed) if we're processing the most up to date version. i.e. if we have a newer version available, don't touch it.

This should get rid of the last of the "this add-on is marked as broken, would you like to disable" popups.