Patchamama is a binary patch maker/applier that works on directory tree. It can be used in application deployment, large scale project patching (including source and binary data). It use bsdiff for the binary diff job and 7zip for compression.
The nsisPatchGen utility recursively compares two directory structures looking for changes to the files and subdirectories. It produces an NSIS include file containing functions that will perform a patch upgrade from the original structure to the new.