View Single Post
To me, it sounds like OmniFocus did exactly what you told it to do — but that was not what you intended! You had your machines syncing. You turned off sync on one of them, and deleted everything. You turned sync back on. It promptly synced those changes you had made.

An argument can be had about whether once you had changed the sync settings OmniFocus should have not let the sync proceed without a choice of one database or the other. I think the current behavior is deliberate, to prevent someone from having to manually merge two databases if the sync settings are disturbed while there are changes outstanding. Someone from Omni might be able to give a definitive answer.

I'm a bit unclear as to what you were attempting to do by deleting all the tasks on the MBA, then syncing. Apparently you weren't trying to erase your sync database, or you wouldn't have gone to all the trouble to restore it :-) If you had made numerous changes on the MBA (which hadn't been synced) that you wished to discard, with the MBA just picking up the database as it existed on the other machines, deleting your OmniFocus.ofocus file (with OmniFocus not running) on the MBA, then launching OmniFocus and configuring sync would be the way to go. Essentially what you want in that scenario is to treat the MBA as if it is a new addition to the family, and deleting the old database file accomplishes that. You would be asked during the first sync whether to keep the device database or the sync database (as they would not match), and the correct answer would be the sync database.

All in all, I can't really fault anyone for not divining the correct set of steps to take there, even a guy who manages to replay only part of the transaction history to fix his database. You've raised the bar, however; next time I expect you to figure out how to remove only the offending transaction from the history :-)