Often programmers must modify many files in a directory to achieve their purpose. For this KDiff3 also lets you compare and merge complete directories recursively!
Even though comparing and merging directories seems to be quite obvious, there are several details that you should know about. Most important is of course the fact that now many files might be affected by each operation. If you don't have backups of your original data, then it can be very hard or even impossible to return to the original state. So before starting a merge, make sure that your data is safe, and going back is possible. If you make an archive or use some version control system is your decision, but even experienced programmers and integrators need the old sources now and then. And note that even though I (the author of KDiff3) try to do my best, I can't guarantee that there are no bugs. According to the GNU-GPL there is NO WARRANTY whatsoever for this program. So be humble and always keep in mind:
To err is human, but to really mess things up you need a computer.
So this is what this program can do for you: KDiff3 ...
... reads and compares two or three directories recursively,
... takes special care of symbolic links,
... lets you browse files on mouse double click,
... for each item proposes a merge operation, which you can change before starting the directory merge,
... lets you simulate the merge and lists the actions that would take place, without actually doing them,
... lets you really do the merge, and lets you interact whenever manual interaction is needed,
... lets you run the selected operation for all items (key F7) or the selected item (key F6),
... lets you continue the merge after manual interaction with key F7,
... optionally creates backups, with the ".orig" extension,