Using Diffoniq from Other Programs

Most version control clients, file managers and IDEs let you plug in an external diff viewer. Diffoniq needs no plugin or adapter for this: started with exactly two path arguments, it opens that comparison straight away — for two files, two folders or two archives. A host that only ever expected a text diff can suddenly compare two ZIP files.

The recipe for your program

HostWhere to configure itArguments
Git (command line) .gitconfig, section [difftool "diffoniq"] --read-only-left --no-backup "$LOCAL" "$REMOTE"
TortoiseGit Settings → Diff Viewer → External --read-only-left --no-backup %base %mine
TortoiseSVN Settings → External Programs → Diff Viewer --read-only-left --no-backup %base %mine
JetBrains IDEs Settings → Tools → Diff & Merge → External Diff Tools --read-only-left --no-backup %1 %2
Visual Studio (TFVC) Options → Source Control → Configure User Tools --read-only %1 %2
Total Commander wincmd.ini, section [Configuration] none — it passes your real files
WinSCP Commands → Custom Commands → Add "!^!" "!" — no switch, see the page

Each entry links to the full walkthrough, including the one step that is easy to miss. Further hosts — SourceTree, SmartGit, Git Extensions, TortoiseHg, Perforce P4V — follow the same pattern with different placeholder names.

Which switches to use, and why

Many hosts do not hand you the real files. They extract a revision, or download a remote file, into a temporary copy. Diffoniq can edit and save, so a correction typed into such a copy is gone the moment the host cleans up — without a warning. This table is the whole rule:

What the host passesSwitches
Left a temporary copy, right your real working file
(the usual case: comparing against the working tree)
--read-only-left --no-backup
Both sides temporary copies
(comparing two stored revisions)
--read-only
Both sides real files
(file managers, Explorer)
none — editing is what you want here

Why the second switch: when you save, Diffoniq keeps the original as a backup with .BAK appended, next to the file. Inside a working copy that is a new, unversioned file — your version control client reports it, and it is committed by accident easily enough. Where the repository is already your safety net, --no-backup takes it out of the way. Where nothing keeps history for you, leave the backup on.

Both switches apply to that one call and are never written to diffoniq.ini, so a host cannot leave your installation locked or unprotected; setting the option in the dialog yourself takes precedence. The title bar always names the frozen side, for example [Read-only: left]. Full description: Command Line Arguments; the permanent setting is Create .BAK backup when saving in the File Comparison Options dialog.

Why Diffoniq behaves well as a host's viewer

What Diffoniq does not do here