| CVID | CID | CCID | Date Created | Date Edited |
|---|---|---|---|---|
| 9408ce40f7d1743f6cc092c069f155ba0647616ff9a5bef5b5b3601c7605daa3⧉ | 16f1275bce5184043bbdd1a4d83728610598158d62db67c35b49c22fd6f928ee⧉ | 4a4bbe7694773d780acd99f1262bfc5908cfc2e8a3f1ad433f211110fea91349⧉ | 06 Apr 2026 02:54:58 GMT | 06 Apr 2026 03:41:52 GMT |
dif uses the BSD libxdiff to see the differences between versions of a file and encodes the ADD and COPY codes with their indexes (start index for both, end for copy) in an array of changes within an item for the version, in an array of versions, all in dtob. currently it measures diffs between the newest version and the one preceding it.
for the sake of having microlinks persist across document edits (insertions or deletions) where the defslice start/end indexes shift but the content remains the same, each microlink is also going to be stored with the inclusion hash alongside the start and end indexes. on edits, the server can take the neolinks for all previous versions of a document and do a linear scan of the new version of document to find matches. if there are matches, then it will store the neolinks with the target indexes adjusted on the newest version.
a versioning system is not absolutely essential for a document repository to work, and people might want to swap this one out for other versioning systems, so the XVUID is placed in non-essential metadata.