PrestoSoft Blog :: Home

Thursday, August 24, 2017

File List Comparison in the next ExamDiff Pro

The next version of ExamDiff Pro will introduce a brand new, much requested feature: file and directory list comparison. This feature will be available to Master Edition users.

ExamDiff Pro, as you well know, can compare a pair of files or directories. But what if you want to compare a set of files/directories with another set, and get results in a form of directory comparison? One example of this is if you want track changes in multiple source code directories. In the past you would either copy your sets of files/directories to two temporary folders and compare them, or, if all items you want to compare are under the same root, you could use ExamDiff Pro directory comparison filters to single out items you want to be included in comparison. Both of these options are far from being user-friendly.

With this new feature, all you need to do is create a text file containing the paths to the files and folders you wish to compare. ExamDiff Pro will do the rest for you transparently using symbolic links. Since symlinks supports exist only in Windows Vista and higher, comparing file lists will have this requirement.

Here's an example of a file list:
#File List One
"C:\Temp\1\AWRBAE32.DLL"
"C:\Temp\1\AWRNDR32.DLL"
"C:\Temp\1\Big3.2.txt"
"C:\Temp\1\boot.ini"
"C:\Temp\1\blank"
"C:\Temp\1\New"
"C:\Temp\1\res"
"C:\Temp\1\Weird"
"C:\Temp\1\_2CRLF"
"C:\Temp\1\_CRLFtest.txt"
"C:\Temp\1\_test1"
"C:\Temp\1\_test3"
"C:\Temp\1\_test4"
"C:\Temp\1\1.edpi"
"C:\Temp\1\11.edpi"
"C:\Temp\1\AlexL.edpi"
"C:\Temp\1\AwBTRV32.DLL"
"C:\Temp\1\AWDEVL16.DLL"
"C:\Temp\1\AWDEVL32.DLL"
"C:\Temp\2\AWDEVL32.DLL"
"\\Shared\2016\web.config"
"\\?\C:\Temp\1\AWRBAE64.DLL"
Note that you can include comments in these list files by using the "#" character at the start of each line.

To compare two file lists in ExamDiff Pro, simply use the Browse for file list button in the Compare Directories tab of the Compare dialog. This new button can be seen below:

You can also compare a file list to a directory, or to a directory snapshot.

The result of an example file list comparison can be seen below:

Note that all items have the link overlay, indicating that they are symlinks. ExamDiff Pro uses real files/directories they point to (targets) for comparison and for file operations.

With full recursion enabled, each of the folders in the file list will be further expanded and compared. The results of a fully recursive comparison of the same file lists can be seen below:

In recursive comparison, items that are below the top level are no longer links, since drilling down into a directory symlink is equivalent to drilling down into its target.

Labels: , ,

Saturday, August 05, 2017

Inline Fuzzy Matching in the next ExamDiff Pro

In the next ExamDiff Pro we will be introducing a new and improved method for fuzzy string matching in inline text comparison.

Below you can see how inline word comparison works in the current version of ExamDiff Pro. Inline matching of word differences is done in a positional manner. As you can see, the comparison did not match "Athenian sailors" with "Athenan sailords" on line 1, but rather with "more Athenan" and simply marked "sailords" as deleted. Similarly, on line 2, "incomplete medieval" was not properly matched with "incomplte [enormous] medievall".

With the addition of inline fuzzy string matching, these previously incorrect comparisons are now properly matched. As can be seen below, "Athenian sailors" was matched correctly and "more" was properly marked as added. On line 2, "enormous" was marked as added and "incomplete medieval" was correctly matched.

Note that inline fuzzy matching is controlled by the same options that control fuzzy line comparison, under Options | Text Compare | Advanced.

Labels: , ,