Tuesday, June 15, 2010

ExamDiff Pro's -nh Command-Line Option And Source Control

Source control utilities generally handle comparing different versions of files by creating a new temporary file for each version that's being compared. We obviously don't want to store these temporary files in ExamDiff Pro's history, and this blog post will demonstrate how to use the -nh command-line option to avoid this problem.

Note: For this blog post, I will be describing how to integrate ExamDiff Pro with Visual SourceSafe 8.0, but a similar procedure will apply to most source control utilities.

First, let's try setting up ExamDiff Pro as an external comparison tool for SourceSafe. A simple way to do this is shown below. Setting this option will enable us to use ExamDiff Pro to compare different versions of files in source control.

Unfortunately, this causes a problem. When we use ExamDiff Pro to perform comparisons within SourceSafe, all of the temporary files that we compare land in ExamDiff Pro's comparison history! As shown below, the files don't have icons next to them, because ExamDiff Pro recognizes that they no longer exist. The result can become pretty messy, so we need to find a way to compare files without adding them to the history.

We can resolve this problem by using the -nh command-line option, which prevents compared files from being added to ExamDiff Pro's history. By adding -nh to ExamDiff Pro's command line parameters in the SourceSafe options, we're able to use ExamDiff Pro to compare different versions of source code effectively without adding unnecessary files to our comparison history: