It appears there is no public API for "pushing the truth", despite
Sync Services documentation mentioning this particular mode. Or am
I missing something?
There isn't.
So how does one push the truth, i.e. replace the entire truth
database with records from the client e.g. as if restoring from a
backup? How does iSync and other tools do this?
The method that pushes the truth is private. You can, however, do a
slow sync, which is almost the same as pushing the truth. The only
difference between the two is the pull phase is skipped during push-
the-truth syncs, whereas it's not on slow syncs.
During the slow sync "simulation-of-push-the-truth", can I simply
skip the pull phase in my code, or will Sync Services attempt to pull
stuff down during the next sync?
Should I do a refresh sync instead which at least avoids pulling down
deletes?