On Friday, 2 March 2018 18:52:22 UTC+1, Jeremy Ruston wrote: > > Hi Joe > > Can I keep all old versions of a tiddler in TW5? > > > It isn’t supported at the moment. (The TiddlyWeb API does support > revisions, but the TW5 client and server just implement minimalist change > count tracking to support synchronising). > > Would this be a good idea? > > > Yes! It’s been on the radar for a while, and we’ve now got many of the > required pieces in place. > > (Why? because I made a Wiki a few years ago that did this - and the > overheads were quite small - if you diff and compress the files) > > > We’re in the process of integrating a diff-match-patch library, initially > for visualising text diffs, but with an eye to using it for revision > support later. I don’t think there’s been much discussion of the > implementation approach but I have some thoughts and old notes about it. > > Best wishes > > Jeremy. > > > Interesting - in my earlier wiki (which I wrote many years ago) I did the following
1) save the latest version (as is) 2) save the diff to the latest-1 version 3) concatenate the top version and all the diffs then compress Now a funny thing happens - consider pure additions to a file If we start off with K bytes (vsn1) and add N1 bytes the size of the new file is K + N1 bytes and the size of the diff is ~N1 bytes (essentially 'add <string> here') So the total size is K + 2N1 bytes After adding N1,N2,N3 bytes the total size is K + 2*(N1+N2+N3+...) bytes Now the size of the final file (displayed) is K + N1 + N2 + N3 So asymptotically N1+N2+N3 ... >> K so we can ignore K And so the size of the final file = 2 * size of all updates And if we compress everything we win back a lot of space The conclusion was we can store all old versions AND it's quite often smaller than the text of the original page. This is true for pure additions to a page - removing data is even better I'll do this when I've got my server going :-) /Joe > > /Joe > > > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWikiDev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected] > <javascript:>. > Visit this group at https://groups.google.com/group/tiddlywikidev. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywikidev/0bce5f6c-250f-45d1-923a-55409e11bd0d%40googlegroups.com > > <https://groups.google.com/d/msgid/tiddlywikidev/0bce5f6c-250f-45d1-923a-55409e11bd0d%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/tiddlywikidev. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/f6199e6e-823c-47d9-b6d6-df867507479d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
