Guiffy Compare/Merge Controls

This page introduces the compare/merge controls for Guiffy.

ignoreIgnore Options

The Ignore options dialog controls Guiffy's compare/merge in terms of ignoring case or whitespace, blanklines, field(s)(in columns A-B and X-Y), or changes matching a regular expression while comparing and/or merging files. Each of the options may be selected for only during compare, only during merge, or both. note Selecting the Show Ignored differences for Compare views results in a view of the 2nd file which reflects the file's content(including any ignored differences). This selection is useful if you wish to make a variant of the 2nd file by picking some of the changes from the first file, perhaps do some editing, and then Save the new 2nd file. note The merge results when a difference is ignored are the contents from the 1st file. Choose Options -> Ignore to select these controls.

Ignore Case

Causes Case of the text to be ignored during the compare and/or merge.

Ignore Whitespace

Causes Whitespace ( spaces and tabs ) differences to be ignored during the compare and/or merge. The Whitespace differences to be ignored are controlled by type: Leading, Embedded, and/or Trailing. Leading Whitespace is at the beginning of the line (up to the first non-whitespace character). Embedded Whitespace is between the first and last non-whitespace characters in the line. Trailing Whitespace is at the end of the line (after the last non-whitespace character).

Ignore Whitespace EOL

Causes EOL (End of Line) Whitespace to be ignored during the compare. Use with above Ignore Whitespace Leading, Embedded and Trailing types. To see Ignore Differences, select Show Ignored differences.

Without Ignore Whitespace EOL:



With Ignore Whitespace EOL:

Ignore Blanklines (inserted or deleted)

Causes Blanklines (inserted or deleted) to be ignored during the compare and/or merge.

Ignore Field(s) in Columns A-B and X-Y

Causes differences in columns specified to be ignored during the compare and/or merge. One or two separate fields can be specified.
note Tabs are expanded prior to determining columns content.

Ignore differences matching a regular expression

Type=Line: Causes changed, inserted, or deleted lines which match any of the regular expressions to be ignored during the compare and/or merge.
Examples(Line):
guiffy --- Matches lines containing the word guiffy
^guiffy$ --- Matches lines containing only the word guiffy
^[:blank:]*//.*$ --- Matches lines containing only (C++ or Java) comments
(guiffy|suremerge) --- Matches lines containing the word guiffy or suremerge
^[ \t]*//.*\$Date:.*\$.*$ --- Matches lines containing the VSS $Date keyword within C++ comments

Type=Part: Causes parts of a line which match any of the regular expressions to be ignored during the compare and/or merge.
Examples(Part):
//.*$ --- Matches the (C++ or Java) comment part of a line

Type=Block: Causes blocks of lines which match any of the regular expressions to be ignored during the compare and/or merge.
Examples(Block):
/\*.*?\*/ --- Matches the (C++ or Java) comment block lines

Here's a reference for the Jakarta Regular Expression engine used in Guiffy: RE Reference

Show Ignored differences

Results in a Compare view of the 2nd file which reflects the file's content(including any ignored differences).

show Show Options

The Show options dialog controls Guiffy's compare display in terms of tab spacing, display only the differences or entire files, display of the differences within N lines of context (When files are > specified size), display inline differences, align similar lines, and display of line numbers. Choose Options -> Show to select these controls.

Show Tab Size

Sets the number of spaces to be displayed for one tab character. The default is 8 spaces.

Show Only Differences

Causes the compare expression to show only the differences.

OR Show Differences within N Lines of Context

By default, Causes the compare expression to show differences with the selected number of lines of matching text before and after each difference.

When files are > nnnnKb

These default settings are referred to as Folded Compare/Merge Views

Show Inline Differences

Highlight Inline Differences when < NN% of line. The default is 50%. The difference is highlighted as a single string or character-by-character.
note When differences are highlighted as a single string, the NN% is calculated as the length of the span from the first character diff to the last chacter diff (divided by the length of the line). When differences are highlighted character-by-character, the NN% is calculated as the number of characters different (divided by the length of the line).

Align similar lines

Where lines have strong similarities, they are aligned in the compare view to facilitate the inline difference highighting.

Without Align similar lines:



With Align similar lines:

Show Line Numbers

Causes the compare expression to show the line number with each line of text displayed.

Show Syntax Highlighting

Causes the compare/merge views to display syntax highlighting. Syntax highlighting is supported for more than 20 syntax types (See Options->Syntax Highlighting File Types). Highlighting properties for 10 syntax elements include Italics, Bold, and Color (See Options->Syntax Highlighting Styles).

tree ignore Folder Ignore Options

The Folder Ignore options dialog controls Guiffy's Folder Compare. The Folder Compare Ignore options include: Ignore these SubFolders, Ignore these Files, Ignore these FileTypes, Ignore Symbolic Links, Ignore Modified Date and Time, Ignore File Size, Verify SubFolders Match and Verify Files Match(byte-by-byte) or by Text compares. Choose Options -> Folder Ignore to select these controls.

Ignore these SubFolders

Causes Folder Compares to Ignore the SubFolders listed(separated by ';'s). SubFolders to Ignore may also be specified as "SubPaths" such as "Backup/Release". And, SubFolders to Ignore may be specified using a * wildcard pattern such as ".*" or "*test".
Example: Debug;Release;images;.*
During a Folder Compare(when comparing recursively) any folder matching one of listed SubFolders to Ignore is NOT compared(recursively).

Ignore these Files

Causes Folder Compares to Ignore the Files listed(separated by ';'s). Files to Ignore may also be specified using a * wildcard pattern such as ".#*" or "*Dialog.java".
Example: Guiffy.jar;.#*

-OR- Ignore All Files Except these

Causes Folder Compares to Ignore all Files Except those listed(separated by ';'s). Files not to Ignore may also be specified using the * wildcard.
Example: Guiffy*;Jiffy*;SureMerge*

Ignore these FileTypes

Causes Folder Compares to Ignore the FileTypes listed(separated by ';'s).
Example: .class;.jar;.exe

-OR- Ignore All FileTypes Except these

Causes Folder Compares to Ignore all FileTypes Except those listed(separated by ';'s).
Example: .java;.html

Ignore Symbolic Links

Causes Folder Compares to Ignore Symbolic Links --- often found in Unix/Linux build environments.
note Folder Compares automatically detect and ignore circular links.

Ignore Modified Date and Time

Causes Folder Compares to Ignore the file's Modified Date and Time.

Ignore File Size

Causes Folder Compares to Ignore the file's Size.

Verify SubFolders Match

Causes Folder Compares to Verify if a Subfolder pair match by performing a compare(stopping on the first difference). This option is applied when the entire file subtree is NOT being compared - the Folder Compare Show Recursive option is not selected.

Verify Files Match(byte-by-byte)

Causes Folder Compares to Verify if a file pair seem to match by performing a quick byte-by-byte(binary) compare(stopping on the first difference).

Verify Files Match(Text compare)

Causes Folder Compares to Verify if a file pair seem to match by performing a Text compare(stopping on the first difference). The Text compare ignores end-of-line differences, applies the Encoding selection and any file compare ignore options selected.

tree show Folder Show Options

The Folder Show options dialog controls Guiffy's Folder Compare display. The Folder Compare Show options include: Show SubFolders, Show Archive Filetypes, Show Details, Show Matching files, Show files Added, Show files Deleted, Show files Changed. Choose Options -> Folder Show to select these controls.

Show SubFolders (Recursively)

Causes Folder Compares to recursively compare SubFolders - Folder Compare becomes a Tree Compare.

Show Archive Filetypes (Recursively)

Causes Folder Compares to recursively compare Archive Filetypes as SubFolders - Folder Compare becomes a Tree Compare including the contents of Archive Filetypes.

Show Details (Size and Modified Date)

Causes Folder Compare to display the details (file size and modified date).

Show compare using default Tree Font

Causes Folder Compare to use the default Tree Font (rather than Font settings).

Show Matching files

Causes Folder Compares to display Matching files.

Show files Added

Causes Folder Compares to display files Added.

Show files Deleted

Causes Folder Compares to display files Deleted.

Show files Changed

Causes Folder Compares to display files Changed.

diffmerge Compare/Merge Bifocal "Shades" Control

The Compare/Merge Bifocal "Shades" dialog controls which type of compare alogrithm to apply for file compares and 2-way merges. Plus, the Attention Focus Expander allows you to expand the attention(conflict) area for 3-way SureMerges.

Minimize Lines Changed in Diff

This compare algorithm choice will show the differences with a view shaded to the minimum number of lines changed.
note If either file has more than 32K lines, Guiffy automatically switches to the Minimize Blocks algorithm.

Minimize Blocks Changed in Diff

This compare algorithm choice will show the differences with a view shaded to reduce the number of change blocks.

Expand Attention Focus of SureMerge by nn Lines

Guiffy's 3-way SureMerge automatically applies the Minimize Blocks compare algorithm and identifies changes of any type(deletes, inserts, or changes) within the same space for the attention of the user to resolve. If changes do not overlap but are very close, the Guiffy Minimize Blocks and SureMerge algorithms will automatically place those changes in the user's attention view. Expanding the Attention Focus will result in more changes which are near to each other placed in the user's attention view.
note If the Minimize Blocks algorithm is selected, Expanding the Attention Focus will also affect file compare and 2-way merge views.


see>See also:
Toolbar
Options Menu
Folded Compare/Merge Views


Documentation by Guiffy Software, Inc. 2012