Login | Register
My pages Projects Community openCollabNet

Project home

If you were registered and logged in, you could join this project.

Message from the owner(s)

The code is now committed, but because I was doing some refactoring it may not be working correctly just yet.
Summary A .Net application for interactive code reviews
Category process
License Apache License
Owner(s) cmumford


Our goal is to make Patcher a useful program for collaborative code reviews. Patcher was written because I wanted the ability to do the following:

  • Have my code reviewed prior to committing it to CVS.
  • Allow the reviewer to easily see what I changed. Instead of giving the reviewer a modified file that they must manually diff against their local copy of that file Patcher applies the change to a fresh copy from CVS. The reviewers local sandbox is never modified in any way.
  • Allow the reviewer to work remotely without the verbal narration that usually accompanies a local review when you are sitting beside the person's code that you are reviewing. This forces the code changes to "stand on their own". They should be understandable without the developer explaining anything during the review.
  • Allow the reviewer to see the CVS commit comments in addition to the code changes.

Patcher has the following abilities:

  • Ability to create a software patch which describes the changed files to a local sandbox. These changes include added, modified, and deleted files.
  • These changes, along with the developers comments, are written to a compressed "patch archive" which is really just a ZIP file.
  • The reviewer then opens this archive to display the changed files.
  • When the reviewer opens the modified file s/he will be sent to their diff program of choice which will clearly highlight the changes.
  • Windows Installer based installation.




  • This assembly is written in C# using Visual Studio 2003 and is running under Microsoft's .Net 1.1.
  • All unit tests, and they will eventually be numerous, will be written and run via NUnit.
  • The main development script will be NAnt. Visual Studio will still be required to build, but the higher level script is NAnt.