[darcs-users] ANN: musdex

Max Battcher me at worldmaker.net
Wed Mar 3 09:21:22 UTC 2010


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


More information about the darcs-users mailing list