DiffDog provides the following main features.
A file comparison in DiffDog is made in a File Comparison window. Files to be compared are opened in separate panes of a File Comparison window by browsing in Windows Explorer-type windows or from drop-down lists of previously opened files. DiffDog remembers file comparison pairs, and, when you select a file for comparison, can provide a list of files with which the selected file was previously compared.
Files can be compared as text or as structured XML. You can also compare binary files, however DiffDog cannot display the changes within binary files, it can only detect whether or not a pair of binary files is equal. A large range of navigation controls enables you to move easily among differences.
A wide range of comparison options are available, thus allowing you to define what aspects of files to compare and what aspects to ignore. Comparison options include settings for how whitespace and blank lines should be treated, whether case-sensitivity should be considered or not, whether differences should be indicated by line or character, whether certain node types, namespaces, and the order of attributes and/or elements should be ignored, whether entities should be resolved, etc.
If a file is modified outside DiffDog while it is open in a File Comparison window, DiffDog can watch for changes and reload the file if required.
Differences within files are indicated with background colors, and corresponding differences in the two panes are joined with lines, thus making visual analysis easier. Note that this does not apply to binary files. Vertical and horizontal scrolling of the two files in Comparison windows can be synchronized. This enables corresponding differences always to be displayed simultaneously.
After you have compared a file pair, files can be edited and saved directly within File Comparison windows and you can specify whether and how backups of files you edit should be kept. Comparisons can be done dynamically as you edit.
DiffDog provides high-level find-and-replace functionality, which also includes support for regular expressions. Differences between files can be merged, i.e. a different block in one file can be copied to replace the corresponding block in the other file. Editing and merging changes in either file can be undone an unlimited number of times.
A directory comparison in DiffDog is made in a Directory Comparison window. The directories to be compared are opened in separate panes of a Directory Comparison window. DiffDog provides a drop-down list of recently compared directories from which to select. Additionally, once a directory is selected to be opened in one pane, DiffDog can provide a list of directories with which that directory was previously compared; as a result previously compared pairs can quickly be opened in a Directory Comparison window. You can define filters to specify what file types to compare and what file types to ignore in a directory comparison.
Directories can be compared on the basis of the sizes and timestamps of files within them (Quick Comparison Mode), or on the basis of the contents of files. The compared directories are displayed as expandable/collapsible trees and show details such as file size and last modification date. The view of the compared directories can be configured on the basis of the comparison results. For example, equal directories and files can be hidden, and only non-equal folders and files shown. Differences between directories and files are indicated with color-coding and easy-to-identify icons.
If a directory is modified outside DiffDog while it is open in a Directory Comparison window, DiffDog can watch for changes and reload the directory if required. Non-equal directories and files can be copied from one pane (directory) to the other. You can also synchronize the directories, that is, copy all missing or updated files from one directory to the other or delete unneeded files. File comparisons can be started directly from within a Directory Comparison window by double-clicking a file in a directory.
Multiple comparison windows (directory and file) can be opened in DiffDog at a time. Directory synchronization is done in a dialog box that can be opened from the Directory Comparison window after you have run a directory comparison, and which allows you to customize the default synchronization settings according to your needs.
The GUI has user-friendly menu layouts, intuitive toolbar icons, right-click quick menus, and a status bar that summarizes the results of comparisons. You can customize the look of Directory Comparison windows and File Comparison windows, including the background colors that are used to highlight differences. Files can be viewed in Text View or Altova's Grid View.
The Text View of documents in File Comparison windows provides line-numbering, source-folding (i.e. expandable and collapsible elements), indentation guides, bookmarking, syntax coloring, and whitespace and linefeed indicators. Syntax coloring can be adjusted according to file type.
Grid View displays structured documents, such as XML documents, in a tabular grid. This enables you to carry out large-scale changes easily (for example, inserting a column would insert the node represented by the column in all the nodes represented by the rows of the grid).
DiffDog can be called from the command line. The application can be integrated with any source control system which provides the possibility to set up a path to the DiffDog executable.