I have added the function diff-repo, which calculates the patch
between the pristine tree and your working copy. If you have a
checked-out repository recent enough to have a _darcs/pristine
directory (version 0.1.0 qualifies), try something like:
(with-open-file (f "/tmp/the-patch" :direction :output :element-type '(unsigned-byte 8))
(dolist (patch (darcs:diff-repo "/path/to/repo/"))
(darcs::write-patch patch f)))
and see if the created file makes any sense. You can also try
combining the result of diff-repo with apply-patch and/or
invert-patch.
Hopefully this will soon lead to functions to show a human-readable
diff of changes, and a function to record patches.
Magnus