HOME

EXAMDIFF PRO

FTPVC

BLOG

FORUMS

NEWS

SUPPORT

ABOUT US

PrestoSoft Blog

Products

• ExamDiff Pro

• FtpVC

General

• Blog

• Forums

• News

• Press Resources

• Support

• About Us

Monday, January 09, 2012

Three-Way Merge Coming in ExamDiff Pro 6.0

Here at PrestoSoft we've been hard at work on one of the biggest and most requested features we've ever done for ExamDiff Pro: three-way file merge. In three-way merge, three files are compared - a base file and two revision files ("yours" and "theirs") that are both modifications of the base - and the goal is to reconcile the changes made in the revision files into an output file.

Merge operations are started through the new Merge Files tab in the Compare dialog. In addition to the left ("theirs"), center ("base"), and right ("yours") files, an optional output file can be specified to store the results of the merge operation. If no output file is specified, the output (bottom) pane will be populated with merge results that can be saved to a file.


After clicking Merge, the main window is opened with the automatic merge results:


Note the three comparison panes and the output pane underneath. Each comparison pane has a color associated with it (shown in the pane header), and the diff blocks in the output pane are colored according to which file they were taken from. During the merge operation, ExamDiff Pro both separates the files into blocks and selects the appropriate block to choose for the output pane. Some blocks cannot be automatically reconciled (because all three files differ): these are denoted as "conflict" blocks and their diff bar is colored red. Conflicts must be manually reconciled, as explained below.

Instead of Added, Deleted, and Changed blocks (as in file comparison), there are now Matching, Non-Matching, and Conflict blocks.
  • In a Matching block, the left and right files both differ from the center file, but are themselves equal. In other words, the same change from base was made in "theirs" and "yours". ExamDiff Pro selects the right ("yours") file in this case.
  • In a Non-Matching block, either the left or right file differs from the center file, but not both. In other words, the change was only made in one file. ExamDiff Pro selects the file in which the change was made.
  • In a Conflict block, the left and right files both differ from the center files and are not equal to one other. In other words, different changes from base were made in "theirs" and "yours". ExamDiff Pro selects the center ("base") file and marks the block as a conflict. Conflicts must be manually resolved by the user (by selecting which of the three files to choose).

In our case, most of the blocks have been reconciled automatically, but there are still a few conflicts that I have to manually resolve. To resolve a conflict, I choose the file that I wish to use for the given block and press the diamond button on its diff bar. Alternatively, I can use the Merge | Select Left File, Merge | Select Center File, or Merge | Select Right File commands (or their corresponding toolbar buttons). When a conflict has been resolved, its diff bar color is changed from red to green. These commands can also be used for Matching and Non-Matching blocks, if I wish to override ExamDiff Pro's automatic merge.

There are two new options pages: Options | Merge and Options | Merge | Colors


In the Options | Merge page, you can specify which Ignore options are used in merge. These options are a subset of the Ignore options in Options | Compare. Note that when Ignore options are enabled, it's possible for the the contents of left and right files to differ within a Matching block (i.e. if they have different whitespace), but ExamDiff Pro will always automatically select the right ("yours") file in this case.


In the Options | Merge | Colors page, you can specify the colors and effects used in the comparison panes and the output panes, similarly to the Options | Display | Colors page. The colors associated with the left, center, and right files in the output pane are also used for the headers of the comparison panes.

Labels: ,

Thursday, December 29, 2011

New Feature: Sharing Diff Reports in DiffNow

One of the most requested features for DiffNow, our free online file comparison utility, has been the ability to save and share diff reports. We have just added this functionality to DiffNow, through the new Share button.

Normally, diff reports (along with any uploaded files) are deleted 10 minutes after comparison, but using the Share feature allows the diff report to be stored for a specified period of time (up to one year), as well as assigning it a unique URL for sharing with colleagues.

For instance, suppose that I have two versions of a Python file that I'm working on, and I'd like to compare them and send the report to my coworker so that she can see how they differ. After comparing the files with DiffNow, I click the Share button, and this dialog comes up:


I choose to store the report for one week, and receive an auto-generated URL:


Now, sending the diff report to my coworker is just a matter of sending her the link. When she opens the page, this is what she sees:


From there, she can also download the report or start a new comparison.

Labels: ,

Tuesday, August 02, 2011

Version Control Integration with ExamDiff Pro


ExamDiff Pro's command-line interface makes it easy to use it as a diff tool in version control applications. The syntax is

ExamDiff.exe [File1] [File2] [Options]

and there are several options that may be helpful when using ExamDiff Pro in a version control context:

The -nh option prevents the compared files from being added to ExamDiff Pro's history, which is handy because, since you're comparing temporary files, it wouldn't make sense to remember them. You can read more about this option here.

The -dn1:name and -dn2:name options set the display names of the files being compared. They can be helpful if you don't want to see ugly temp file paths and your version control program sends file labels as parameters.

Check out the ExamDiff Pro version control integration page for specific instructions on integrating ExamDiff Pro with Git, Mercurial, Subclipse, TFS, Visual SourceSafe, and other version control solutions.

You can also refer to our previous blog posts on integrating ExamDiff Pro with Visual SourceSafe and Team Foundation Server.

Labels: ,

Sunday, July 10, 2011

Introducing DiffNow!

We're excited to announce the launch of PrestoSoft's first web application, DiffNow.


DiffNow is an online comparison utility that lets you compare text files, documents, binary files, and archives up to 500KB in size. You can either upload the files you wish to compare or enter their URLs. Results are returned as an interactive HTML report that you can also save as a local copy.

DiffNow is powered by ExamDiff Pro and uses all of the comparison plug-ins in the ExamDiff Pro plug-in library.

Unlike other online file comparison tools, DiffNow offers plenty of advanced features that it borrows from ExamDiff Pro, including syntax highlighting, fuzzy matching, Ignore options, customizable colors, and more.

DiffNow is still in beta, and all feedback is appreciated.

Labels: ,