Re: A sketch: personal APP servers and feed-based web apps

@DaveP,

We’ve been playing around with some code[1,2,3] that uses a filesystem watcher to capture events fired off (e.g. new file/folder is added, file/folder is deleted, file/folder has changed) when something on the folder being watched has changed and handles the events by adding, deleting, or committing changes made to a file/folder to either SVN or Darcs. The problem thus far is that we haven’t been able to really properly map all the events that transpire to the proper operation in either SVN or Darcs so have instead resorted to using our built in APP system (which we’re in the process of re-writing in C# and XSLT 2.0) to add a new Atom feed to the system when a new file is created, mark that entry as deleted when deleted, and add a new entry to a files Atom feed that contains the diff (using Joshua Tauberer’s Diff util[4]) based on the original entry as a new entry.

There’s still a bit more work to do, but the end goal is that of creating an ad hoc decentralized AtomPub collections-based revision control system that uses nothing but the feeds URI and its entry ID to rebuild the state of any given “repository” with nothing but good “ol’ fashioned” HTTP(s) and URI’s as its heart and soul.

To me, anyway, it feels like the right approach. Thoughts?

[1] http://nuxleus.googlecode.com/svn/trunk/nuxleus/src/Nuxleus.IO/FileSystem/Watcher.cs [2] http://nuxleus.googlecode.com/svn/trunk/nuxleus/src/Nuxleus.Process/Process/SVNProcess.cs [3] http://nuxleus.googlecode.com/svn/trunk/nuxleus/src/Nuxleus.Process/Process/DarcsProcess.cs [4] http://razor.occams.info/code/diff/

Reply

The content of this field is kept private and will not be shown publicly.