I announced it on my blog, which means it is already visible in the Planet feed, but I thought I'd properly introduce it to the mailing list as well. The blog post:

http://blog.worldmaker.net/2010/mar/03/storing-documents-version-control-musdex/

This is something that has been talked about before, but current projects made it an itch I really wanted to scratch so I finally built a working tool in a couple of days this week.

Basically, in darcs terms: its a prehook/posthook duo that pre-record extracts the contents of given zip archives (which may be .docx, or .odt files for instance) into a directory structure in a darcs repository (adding the files to darcs as necessary), and then recombines the zip files on post-apply. I've built the tool to be incremental (it stores a simple index with timestamps right now) so that it only extracts/combines what has changed.

Installing it should be as simple as pip install musdex. (Or easy_install musdex if you don't want pip. Or grab the tarball and python setup.py from it if you don't trust easy_install.)

Using it is as simple as adding to _darcs/prefs/defaults:

record prehook musdex.py
apply posthook xedsum.py

Then add an archive to it:

musdex.py add MyDocument.docx

With musdex you can generate much more interesting patches from zip-based documents, rather than just binary blobs.

(musdex should be configurable enough to support other VCSes very easily, but darcs is the default, of course, and perhaps most important target being the biggest patch-oriented VCS around.)

I'd be interested if there are any questions, and/or finding out if anyone finds this an interesting tool.

--
--Max Battcher--
http://worldmaker.net
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to