Story #5113: Sync optimizations
As a user, my sync is not operational if there are no changes
Sync should not proceed further than downloading and parsing of repomd.xml if:
- revision number in repomd.xml is equal to or older than the one from the last sync
- and remote configuration hasn't changed since last sync
- and no repo versions has been created since last sync
A one-time option
optimize should be provided and will be
True by default. When set to
False, it disables all the optimisations at sync time and full sync is performed no matter what.
On the RpmRepository model store:
- revision number
- remote id
- pulp_last_updated of a remote
- repo version number of last sync
Check that remote or repo version hasn't changed since last sync.
After that download repomd.xml and check the revision number.
In case of
optimize=False, skip all the checks and let the sync run.