Adding distributed version control to TiddlyWiki
July 1st, 2008 tonyg
After my talk on Javascript DVCS at the Osmosoft Open Source Show’n'tell, I went to visit Osmosoft, the developers of TiddlyWiki, to talk about giving TiddlyWiki some DVCS-like abilities. Martin Budden and I sat down and built a couple of prototypes: one where each tiddler is versioned every time it is edited, and one where versions are snapshots of the entire wiki, and are created each time the whole wiki is saved to disk.
| Regular DVCS | SynchroTiddly |
|---|---|
| Repository | The html file contains everything |
| File within repository | Tiddler within wiki |
| Commit a revision | Save the wiki to disk |
| Save a text file | Edit a tiddler |
| Push/pull synchronisation | Import from other file |
If you have Firefox (it doesn’t work with other browsers yet!) you can experiment with an alpha-quality DVCS-enabled TiddlyWiki here. Take a look at the “Versions” tab, in the control panel at the right-hand-side of the page. You’ll have to download it to your local hard disk if you want to save any changes.
It’s still a prototype, a work-in-progress: the user interface for version management is clunky, it’s not cross-browser, there are issues with shadow tiddlers, and I’d like to experiment with a slightly different factoring of the repository format, but it’s good enough to get a feel for the kinds of things you might try with a DVCS-enabled TiddlyWiki.
Despite its prototypical status, it can synchronize content between different instances of itself. For example, you can have a copy of a SynchroTiddly on your laptop, email it to someone else or share it via HTTP, and import and merge their changes when they make their modified copy visible via an HTTP server or email it back to you.
I’ve been documenting it in the wiki itself — if anyone tries it out, please feel free to contribute more documentation; you could even make your altered wiki instance available via public HTTP so I can import and merge your changes back in.
Entry Filed under: Technology, Reflection, Our Software, Web, Version control
1 Comment Add your own
1. tonyg | July 3rd, 2008 at 5:49 pm
((I accidentally deleted a bunch of comments I didn’t mean to delete today, so I’m having to repost them manually:))
FND wrote:
Great job, Tony!
I like the differentiation of tiddler revisions and document changesets.
If you have the time, you should share this with the TiddlyWiki community.
Also, it’d be great to have a quick overview of which plugins are required to use this functionality in existing TiddlyWiki documents.
I’ll give this a more extensive try in the next few days or weeks.
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed