Xanadex


dif

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.