File comparison in Altium Designer

AD_Sch-Differences

UPDATE: This post was updated the 8 March 2020.

Who never needed to compare two files to know the differences between them!
Did you know that Altium Designer has a tool to compare two files? It works for schematics as well as PCB files.

Manual comparison

First, you need to open the two files. Then you go in the “Project” menu, items “Show (logical) Differences” or “Show Physical Differences”.

AltiumDesigner19_ShowPhysicalDifferences1
AltiumDesigner19_ShowPhysicalDifferences2

Official Altium Designer documentation:
Choose documents to compare
View differences

Comparison from a VCS (Version Control System)

If you “version control” your work you can interact with the VCSystem to compare two versions of the same file.

With Altium Designer, from the Storage Manager panel

  1. Open the file you want to work on.
  2. Open the Storage Manager panel.
  3. Select the two versions you want to compare using the CTRL key.
  4. Right-click, Compare.
AD-Pnl_StorageManager-CompareRevisions

See this method in action:

With TortoiseSVN, from the Windows Explorer

If you use TortoiseSVN as a client, you can automatically launch Altium Designer from the standard “diff” commands, provided you properly configured the “Advanced diff viewer” settings.

UPDATE: You can embed your configuration into a *.reg file if you want. Create a text file with the following content, rename it with the “*.reg” extension, then double-click on it to install it.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\TortoiseSVN\DiffTools]
".SchDoc"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".SchDot"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".openbus"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".PcbDoc"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".PcbDot"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".SchLib"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".PcbLib"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"
".pcb3dlib"="\"C:\\Program Files\\Altium\\AD19\\X2.EXE\" %base %mine -RClient:TileAllOpenDocuments(Mode=Vertical) -RWorkspaceManager:Compare(ObjectKind=Document|Action=ComparePhysical)"

See this method in action:

Read more on this topic from the official Altium Designer documentation.