Context: I was fiddling with the idea of using TiddlyWiki in restricted environments that lack Node.js, so only the single HTML file option is available, watch the file for changes and automatically commit each change to a version control repository, to get a detailed history of atomic small changes. While an autocommit workflow would lack valuable info like human friendly summaries of changes, having a timestamped history of changes still keeps the option of spotting breaking changes via bisection.
Since the Node.js option is out, it’s not possible to manage (version control wise) tiddlers in separate files, one has to deal with a single big file.
Which brings me to the topic line. In TiddlyWiki’s philosophy, what is the status of the single HTML file that wikis get saved as? Is it merely a container for the data stored in user made tiddlers? Is it rather a first class source code (HTML + JS + JSON) file that is diff friendly, as in two versions of it produce diffs of minimized size?
Of course my hopes were high for the latter, but after doing a very simple test, I’m not so sure, hence I’m asking here.
So I took an empty wiki (a ~2.5MB file), added a couple of tiddlers with one word in text field, one additional field (so nothing fancy or big), saved the wiki and diffed the versions. Diff size is 200KB. The offenders seem to be the very long context lines containing theme tiddlers. Did anybody think about ways to deal with this? I know the problem lies deeper - JSON isn’t friendly to multiline strings, but still. Or am I just misunderstanding something and making a big fuss over a non issue here?