Details
Description
It's possible for the `keepBody` flag of a remote rev to be cleared, whenever `RevTree::keepBody` is called. This is because the function does not consider the `_remoteRevs` when clearing `kKeepBody` from the ancestor revs.
This is an obvious logic error, and also renders delta sync entirely useless, because it needs a remote ancestor rev to compute a delta.
The fix is simple:
if (isLatestRemoteRevision(ancestor)) |
continue; |
Attachments
Issue Links
- is cloned by
-
CBL-5587 Beryllium Port - Remote rev KeepBody flag could be cleared accidentally
- Closed