## Diff Viewer

These preferences can be changed on 'Team>SVN>Diff Viewer' properties page. On this page user can configure external diff/merge programs used for comparing different revisions of files. User can associate an external diff program to specific file extension or mime type. For example, in order to specify file extension for doc files use .doc. Example of mime-type usage: text/plain. Also user can specify external diff program which will be applied for all files by using an asterisk(*) in extension/mime-type field.

For each file extension/mime-type user can specify following parameters: diff program path, diff program arguments, merge program path, merge program parameters. Diff program settings are applied for compare actions. Merge program settings are applied for Edit Conflicts action. The external program will need to obtain the filenames from the command line, along with any other command line options.
Subversive uses substitution parameters in a form %{param-name}. When it encounters one of these it will substitute the appropriate value.

- base: The original file without your changes.
- mine: Your own file, with your changes.
- theirs: The file as it is in the repository.
- merged: The conflicted file, where to save.
- etc.

Subversive is supplied with default configuration for file extension associations, default configuration includes paths to script files which allow to run external programs. It includes configuration for following file extensions: doc, docx, xls, xlsx, ppt, pptx, odt, ods.

Tip: | Default diff handlers provided by Subversive are loaded and can be used only on Microsoft Windows. For other operating systems users can configure their own handlers.

This is how 'Diff Viewer' properties page looks like:
Here's a list of actions which can call external compare editor:

- Compare With Base from Working Copy
- Compare With Latest from Repository
- Compare With Revision or Url...
- Compare With Branch...
- Compare With Tag...
- 'Compare In External Compare Editor' action in Synchronize View
- 'Edit Conflicts' action in Synchronize View
- Compare actions available from History View, e.g. Compare With Previous State
- 'Compare In External Compare Editor' action available for files when performing comparing for directories
- etc.