"This is a utility that performs a recursive diff on two directories and generate a diff 'window'. Based on that window you can perform various diff operations ..."
Andrew Morton originally developed a set of scripts for maintaining kernel patches outside of any SCM tool - quilt whose basic idea is to maintain patches instead of maintaining source files. Patches can be added, removed or reordered, and they can be refreshed as you fix bugs or update to a new base revision. quilt is very powerful, but it is not integrated with the underlying SCM tools. The patch queue extension Mq integrates quilt functionality into Mercurial. Changes are maintained as patches which are committed into Mercurial. Commits can be removed or reordered, and the underlying patch can be refreshed based on changes made in the working directory. The patch directory can also be placed under revision control, so you can have a separate history of changes made to your patches.
For too long, code reviews have been too much of a chore. This is largely due to the lack of quality tools available, leaving developers to resort to e-mail and bug tracker-based solutions.
We've seen a lot of time and energy wasted doing code reviews both in open source projects and at VMware. In both cases, code reviews were typically done over e-mail. A significant amount of time was spent in forming review requests, switching between the diff and the e-mail, and trying to understand what parts of the code the reviewer was referring to.
In an effort to keep our sanity and improve the process both in our open source projects and at companies, we wrote Review Board.
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process.