Microsoft KB Archive/168635

= INFO: Explanation of Diff_Ignore =

Article ID: 168635

Article Last Modified on 5/4/2001

-

APPLIES TO


 * Microsoft Visual SourceSafe 4.0 Standard Edition
 * Microsoft Visual SourceSafe 4.0 Standard Edition
 * Microsoft Visual SourceSafe 4.0a
 * Microsoft Visual SourceSafe 4.0a
 * Microsoft Visual SourceSafe 5.0 Standard Edition
 * Microsoft Visual SourceSafe 6.0 Standard Edition

-



This article was previously published under Q168635



SUMMARY
The Diff_Ignore entry controls the factors that are considered or ignored when you use the Show Differences (File) command on the Tools menu.



MORE INFORMATION
The Visual SourceSafe Show Differences (File) command is used to display all the relevant changes to a file. The Diff_Ignore variable defines what is a relevant change. You can control the following four issues in this variable:

C - case sensitivity

E - end-of-line characters

S - small differences* (See explanation of the "S" switch below)

W - white-space changes

The arguments for the Diff_Ignore variable contain a list of these four letters with a dash after any variable that you don't want ignored. In the following example (also the default), E is the only letter that does not have a dash after it. As a result, end-of-line characters are the only items that will be ignored when two files are compared.

The following example ignores end-of-line differences, and displays all others:

Diff_Ignore = c-es-w-

If you change the Diff_Ignore variable, as in the following example, then any differences in white space would be ignored and any differences in the end-of-line characters would not be ignored.

The following example ignores white space differences, and displays all others:

Diff_Ignore = c-e-s-w


 * Explanation of the "S" switch: The small differences switch "S" is misnamed. This option affects small similarities between files, not small differences.

When you run a Show Differences (File) on two files, the diff algorithm tries to match up everything it can. Therefore, if you have two files with a lot of differences and a few similarities (both have some blank lines, or lines with curly braces only, etc.), performing a Show Difference (File) produces a diff file that shows a number of matching items amidst a larger set of differences. However, all you really have is a few random matches amidst a larger set of differences.

Setting the Small Differences switch with a dash after it (Diff_Ignore=c-es- w) should cause the Show Differences (File) operation to ignore the spurious similarities between the files.

The Small Differences switch doesn't really affect the output of the Show Differences (File) when you use the 'Visual' option, but it can make a huge difference when you are using the 'Unix' option.

