This code adds --delay-updates to the sync command. The source list is split into two parts: files that are new, and files that are being updated. With --delay-updates, the new files are transferred first, and then the updated files are transferred second.
This will keep a yum or deb repo consistent for a longer period of time, only changing out the updated files (metadata files) at the last possible instance.
add --delay-updates option