PrestoSoft Blog


• ExamDiff Pro

• FtpVC


• Blog

• Forums

• News

• Press Resources

• Support

• About Us

Wednesday, March 17, 2010

Beta Feature: Match Plugins by Wildcard

ExamDiff Pro 5.0 will feature a more sophisticated way to match plug-ins: rather than being matched to files based on extensions, plug-ins will now be matched against filenames with wildcards. All existing plug-ins will be automatically converted: for instance, the PDF to TXT plug-in will have its Extension parameter of "pdf" converted to a Name Filter parameter of "*.pdf" upon installation of ExamDiff Pro 5.0.

This feature can be useful in many contexts, especially when working with text-based plug-ins such as Sort. For example, suppose that you're test several different programs that produce an output (in this case, the prime numbers between 100 and 300) in a different order, and you wish to ensure that their output is identical.

Here are two of the output files compared to each other:

You could manually sort both files by right-clicking within the diff panes and selecting Apply Plug-in | Sort from the context menu, but this is an unwieldy approach if there are a lot of output files that must be compared in this way. Using wildcards for plug-ins presents a cleverer solution: if all the output files are of the form "output_??.txt", where ?? is a two-digit number, you can create a name filter for the Sort plug-in like this:

Now, hit Re-Compare, and voila! The two files are automatically sorted based on their filenames.

Labels: , ,

Wednesday, March 10, 2010

Samples Coming Soon to Blog Posts

We've received a suggestion from a user to make our ExamDiff Pro blog entries more interactive by including samples of files and directories that can be downloaded so that our users can test out new features themselves. I'll try to implement this as soon as possible, so that future blog posts will include file samples, directory samples, and/or sample options files illustrating new ExamDiff Pro features.

Labels: , ,

Wednesday, March 03, 2010

Beta Feature: Improved File Change Notifications

ExamDiff Pro 5.0 will feature improved file change notifications for directory comparison: in addition to balloon messages being shown, files that have been edited will now become italicized and have their attributes updated in the comparison panes, and diff blocks will automatically change type as appropriate.

Let me illustrate this feature with some examples. To make the screenshots in this blog post easier to understand, I'm outlining files that I'm about to modify in blue and files that I've just modified in red.

To begin, I compare these two directories:

Now, I open up the file Test\1\1.edpi in an external editor, modify it, and save it. Immediately, ExamDiff Pro italicizes this file and updates its date and size, as well as showing a balloon message and underlining the directory name at the top of the pane:

Next, I modify and save Test\2\2_CRLF. Note that, in addition to the modified file being italicized and its attributes updated, the file in the right pane is now shown as being newer:

Finally, I modify and save Test\1\_test1. Likewise, the file in the left pane is now shown as being newer rather than older:

This feature can be especially useful when combined with the also-upcoming Hide feature: if you wish to monitor changes for several files in a directory, simply compare the directory to another and hide all irrelevant files. Now, seeing which files are changed is simply a matter of checking which files become italicized in the comparison pane.

One particular helpful application of this feature occurs when you are dealing with source control. Whenever you check out files in a source control system, they will be italicized in ExamDiff Pro to show, in this case, that they are no longer read-only. This is handy when you need to know which files you are able to modify with copy commands, for instance.

Labels: , ,

Wednesday, February 17, 2010

Beta Feature: Split Diff Blocks

Sometimes diff blocks that are labeled as "changed" between two files can be better expressed as an "added" block followed by a "deleted" block. For example, in the diff block shown below, the part in the left file and the part in the right file are entirely different pieces of code:

It can be unsightly and confusing to have such blocks be labeled as "changed", and for this reason we're introducing a Split Block command in the upcoming version 5.0. Here's how it works: right-click within a changed block and select Split Block from the context menu, and the block is split into two separate diff blocks, as shown below.

Note that the order of the resulting blocks depends on whether you select the command from the left pane or the right pane, so right-clicking on the right side and selecting Split Block will result in the deleted block coming first:

Splitting blocks can be especially helpful when you are preparing an HTML diff report for somebody else and you want the differences to be displayed as clearly as possible. In this situation, you may also want to fine-tune fuzzy matching settings and/or use manual synchronization to ensure that all lines within changed blocks are aligned precisely.

In addition to making the difference clearer to see, this feature is useful if you need to copy a changed block while keeping the destination block intact: you can split the block, and then use synchronization buttons to copy a newly created deleted or added block. Note that this is equivalent to using the Add Block from First/Second File to Second/First commands.

Labels: , ,

Wednesday, February 03, 2010

Beta Feature: Detecting Unicode Files Without BOMs

ExamDiff Pro 5.0 will add the ability to detect Unicode files without byte order marks (BOMs).

Until these changes Unicode (UTF-16) files were detected by BOMs (0xFFFE for little endian and 0xFEFF for big endian). However, some Unicode files unfortunately lack BOMs, and ExamDiff Pro will now be able to properly deal with such files, by attempting to determine the file's encoding based on an analysis of the file contents.

Note that ExamDiff Pro 4.5 already includes a feature to force Unicode encoding for files without BOMs: the Open buttons in the Compare dialog allow you to manually select file encoding rather than have it be automatically detected, as shown below. Even in version 5.0, this will still remain a useful feature for cases in which you know the intended encoding for a file without a BOM, because it ensures that the files are detected properly.

Labels: , ,

Monday, January 18, 2010

ExamDiff Pro 5.0 Beta!

We are pleased to announce that we've just released a beta of ExamDiff Pro 5.0!

The most important features that we added to the beta are a Line Inspector panel for easy recognition of differences within lines in file comparison and synchronization buttons in directory comparison. Both of these features greatly improve ExamDiff Pro's merging functionality by making it easier than ever to reconcile specific differences. More new features in 5.0 that can help users find and reconcile differences include Hide and Hide All But These commands in directory comparison, a Copy Line to Other File context menu command in file comparison, and a Split Block command in file comparison that breaks apart a single Changed diff block into an Added block and a Deleted block.

ExamDiff Pro 5.0 Beta adds plenty of other features and improvements as well. Sorting in directory comparison can now combine results from both panes, resulting in a more logical pattern. A new Use Comparison Filters command can enable or disable the use of all filters in the Options | Dir Comparison | Filters panel with a single click. A new option causes the drop-down boxes in the Compare dialog to only show second items that have already been compared to the first item. Unicode files without BOMs can now be detected automatically, and plug-ins can now be matched by wildcard and not just extensions. You can find more details about the 5.0 beta, including an even larger list of new features, and a download link, here.

Over the course of the next few months I will be posting more articles on how to use the new features in this beta.

Labels: , ,

Saturday, January 16, 2010

Beta Feature: Line Inspector

The feature that we're most excited to be putting into ExamDiff Pro 5.0 is one that many users have requested: a "Line Inspector" panel for file comparison that shows the currently selected line and the matching line in the opposite pane. The line inspector makes it easier to find differences within lines by displaying one line above the other. The line inspector sits underneath the comparison panes, as shown below:

The synchronization buttons in the line inspector are used to copy a line from one file to the other, as shown below. Note that they differ from the synchronization buttons in the diff bars, which copy diff blocks rather than single lines.

You can edit within the line inspector as long as editing is enabled, but you can't select more than one line within it. The context menu for the line inspector provides the same basic editing commands (Cut, Copy, Paste, Delete, Select All) as the diff pane context menu, as well as a Copy Line to Other File command that performs the same action as the line inspector sync buttons:

Because the Copy Line to Other File command can be useful in many situations, we've decided to add it to the diff pane context menu as well:

Note that the synchronization buttons in the line inspector, just like those in the main diff panes, are disabled whenever editing is disabled or the files are out of sync. For instance, the sync buttons become hidden when you desynchronize the files by removing a line from one of them:

Finally, if you wish to hide the line inspector, you can either select Hide Line Inspector from the line inspector context menu (shown above) or uncheck View | Line Inspector:

Labels: ,

Wednesday, January 06, 2010

Beta Feature: Sync Buttons in Directory Comparison

Our users often have to copy many files at once during comparison, and drag-and-drop and the Copy to First/Second commands can both be a little unwieldy. To make copying batches of files easier than ever in ExamDiff Pro 5.0, we're adding synchronization buttons to the diff panes in directory comparison windows, just like the ones that are already available for file comparison.

Simply click on the arrow-shaped button for any diff block, and the block's contents are copied in that direction:

Note that, while the icons for the sync buttons and the Copy to First/Second commands look similar, the two commands are different: the sync buttons are for copying diff blocks, while the Copy to First/Second commands are for copying selected items.

Also note that, just as with the Copy to First/Second commands, copying a deleted block is equivalent to deleting the opposite block's contents:

By default, synchronization buttons will be enabled for both file and directory comparison. Sync buttons now have separate enable/disable checkboxes for file and directory comparison, under Options | View:

Labels: , ,

Wednesday, December 23, 2009

Beta Feature: Hiding Files in Directory Comparison

We're hard at work on ExamDiff Pro 5.0! Along with some major features, we're adding lots of convenient tools to make comparison even easier and more customizable for users. The one that I'm going to talk about today is the ability to hide items during directory comparison.

Let's say that we're trying to isolate important changes between two coworkers' versions of a project that are located in directories 1 and 2. First, let's launch a comparison between the two directories:

Note that there are red filter icons on both panes' status bars, a visual signal that a comparison filter is being used, in this case a date comparison filter. (The red filter icons are another feature that we're adding to ExamDiff Pro 5.0.) Using a date filter is a good idea to reduce clutter if you're only interested in files modified after a certain date.

Now, one of the files is clearly a test file and labelled as such. We'll probably want to ignore it, so we can hide it from view by simply right-clicking on it and selecting Hide from the context menu:

As you can see, the file is hidden immediately, with no wait for recomparison. The diff blocks are also intelligently adjusted: instead of four separate blocks, there are now only two (as the two Older blocks have combined into one).

Now, let's say that we've decided that only the .cpp and .rc2 files are important for our purposes, as the rest all look like more test files. To hide the unnecessary files, we can simply select the important files, right-click, and select Hide All But These:

Voila! Now the two coworkers are able to consult each other regarding these two files, without wasting time on the unimportant differences. If they wish to merge changes in the files, they could double-click on a file, opening up a file comparison in a new instance.

As you can see, hiding files is a good way to rid your directory comparison results of unnecessary clutter, especially when used alongside such features as comparison filters and view filters. Removing unimportant differences from view helps avoid distractions and lets you focus on the differences that really matter.

One final note: If you accidentally hide a file and you want to see it again, simply hit the re-compare key. Re-comparison unhides all hidden files and folders.

Labels: , ,

Friday, May 22, 2009

ExamDiff Pro 4.5 Released!

At long last, we have released ExamDiff Pro 4.5! This release contains all of the features of the beta, including fuzzy line matching, moved block recognition, a revamped diff bar interface, a number of file editing improvements (including line modification marks, improved block operations, resolved block recognition, and smarter Undo/Redo), the ability to specify file encoding (ASCII, UTF-8, UTF-16LE or UTF-16BE) when opening or saving files, and much, much more.

You can find more details about ExamDiff Pro 4.5, and a download link, here.

Labels: ,

Saturday, December 27, 2008

ExamDiff Pro 4.5 Beta!

We are pleased to announce that we've just released a beta of ExamDiff Pro 4.5!

The most important features that we added to the beta are fuzzy line matching and the ability to recognize moved blocks, both of which I have described in previous blog entries. ExamDiff Pro 4.5 Beta also introduces a revamped diff bar interface, and a number of improvements for file editing, including line modification marks, improved block operations, resolved block recognition, and smarter Undo/Redo.

ExamDiff Pro 4.5 Beta also adds a number of smaller features. File encoding (ASCII, UTF-8, UTF-16LE or UTF-16BE) can now be specified for opening or saving files. Linebreaks are now highlighted when they are different, and word wrap can now fit to window. Finally, ExamDiff Pro 4.5 Beta introduces many usability improvements: daylight savings time differences can be ignored, items can be quickly deleted from drop-down lists, and status bars for files now display file size and number of lines.

You can find more details about the 4.5 beta, and a download link, here.

Labels: , ,

Tuesday, December 16, 2008

Performing Full Comparison on Selected Files

If "Perform full comparison" is disabled under Options | Dir Comparison, in order to reduce comparison time, ExamDiff Pro identifies differences in matching files by comparing their timestamps, sizes, attributes, CRCs etc, without actually comparing the contents of the files. While this is adequate for most purposes, sometimes you may wish to know for certain whether a pair of files is identical or changed. For this, ExamDiff Pro provides a handy feature to only perform full comparison on certain files.

First let's compare two directories. Because "Perform full comparison" is not used, ExamDiff Pro does not tell us whether pairs of files are identical or changed, but rather marks matching files as Older or Newer.

To perform full comparison on a certain pair of files, select a file or multiple files in one of the comparison panes and either use the Directories | Perform Full Comparison menu command, or right-click on the selected file(s) and choose "Perform Full Comparison" from the context menu. In this case I'm going to compare all of the files.

After all the files are compared, we can clearly see which files are changed and which files are identical. Keep in mind that if you routinely need to perform full comparison on large amounts of files, it may be simpler for you to enable "Perform full comparison" under Options | Dir Comparison, in which full comparison will automatically be performed on all files.

Labels: , ,

Thursday, October 09, 2008

Quickly Deleting Items From Lists

One handy minor feature we're adding to ExamDiff Pro 4.5 is the ability to easily delete list items in all user-generated lists in ExamDiff Pro.

For this example, I'm using the Recent Files list, but this applies to Recent Directories, Name Filters, and all of the Ignore lists in Options | Compare.

To quickly delete a list item, simply highlight an item and press Delete:

When the confirmation dialog pops up, click Yes and voila - the item is deleted!

Labels: , ,

Saturday, September 13, 2008

Moved Blocks

One more ExamDiff Pro feature that we are working on is moved block recognition. A moved block is any diff block that appears in both files but in different locations in the files.

Moved blocks are clearly visible due to the pink (as opposed to gray) coloring of their diff bars. If a moved block is selected, its diff bar is striped yellow and pink, as shown below:

Note that the diff combo bar description is slightly different for moved blocks and includes both a description of the diff itself and a description of the move (the latter part is only shown if the moved block is on the left side of the diff, because all descriptions are relative to the first file).

The first screenshot below shows the context menu for the diff bar of a moved block. From this context menu you can enable and disable the display of moved blocks, and can also locate the matching block. If you click on Select Matching Moved Block, ExamDiff Pro aligns the files (if possible) so that the two matching moved blocks are aligned, as shown in the second screenshot below. Note that it is possible for two matching moved blocks to have an unequal number of lines, if some of those lines are ignored.

Finally, view filters can now also filter moved blocks, as shown below.

Labels: ,

Monday, August 25, 2008

Diff Bar Improvements in ExamDiff Pro

Another major feature that the next version of ExamDiff Pro will include is an improved Diff bar (formerly known as the Current Diff bar).

All differences are now displayed on the Diff bar (as opposed to only the current difference being displayed before). The current difference is still clearly visible due to its yellow shading in the Diff bar, while other differences are shaded gray:

Each Diff bar now contains a green arrow at the top. Clicking the arrow copies the entire diff block to the other file, for easy merging of differences. In these screenshots, I clicked on the arrow in the second diff block of the first file:

Clicking on the Diff bar of the current diff block selects the text in the difference, while clicking on the Diff bar of any other diff block makes that diff block current. These features all combine to make it easier to view, select, and merge differences in files.

Labels: ,

Thursday, July 24, 2008

Fuzzy Matching

We've spent the past few months working diligently on the next version of ExamDiff Pro, and one of the biggest features that we're adding is fuzzy matching. In essence, fuzzy matching enables ExamDiff Pro to intelligently align lines that are similar but not identical.

Let's see it in action. Take a look at this pair of files with fuzzy matching disabled: the changed block shown looks rather ugly, and the similarities between the two files are difficult to see.

Previously, the only way to align similar lines was to use manual synchronization, as shown below. However, manual synchronization can be time consuming. Fuzzy matching can now do the same thing, automatically.

We can enable fuzzy matching from the new Options | Compare | Advanced panel. Settings on this panel allow you to automatically enable fuzzy matching for files below a certain size (because fuzzy matching can slightly slow down comparison for large files) and to set the fuzzy similarity threshold (lines with a lower % of similarity will not be matched).

After enabling fuzzy matching and hitting Re-compare, you would get something like this:

As you can see, similar lines are now automatically matched, and the comparison view is much cleaner.

Labels: ,