make sync progress better

Do the work outside of the lockstep, so that the progress doesn't include items for which no work needs to be done.