Gnu patch
From wikinotes
patch a codebase
Usage
patch directories
diff -ruN new/ old/ > diff.patch # create patch patch -ruN -d working < diff.patch # apply patchpatch files
diff -u new/foo.c old/foo.c > diff.patch # create patch patch -u old/foo.c -i diff.patch # apply patch