Tap: fix repo commit metadata tracking (#1280)
Fixes a few issues in Tap. The most important is that we were not
updating prev data & rev when we didn't need to process any ops from a
commit. This would cause commits to appear as disjunctions in commit
history.
This also rearranges some logic in `ProcessCommit` which would cause us
to mark a repo "desynced" if an event came in while resyncing rather
than adding that event to the resync buffer.
For events that we add to the resync buffer, we hold off checking that
they play neatly on the current state of the repo (through prevData)
until we actually go to play them back.
authored by