If you try to remove a file and then add a directory with the same name
in the same patch, darcs falls over, trying to do openBinaryFile on the
directory. I haven't investigated where that's coming from.
There's also a missing case in Darcs.Diff.treeDiff for this situation
(and the reverse), but that should be trivial to fix.