Git Integration
WinXMerge integrates with Git as both a difftool and a mergetool.
difftool Setup
Section titled “difftool Setup”# Build and installcargo build --release --features desktopcp target/release/winxmerge ~/.local/bin/
# Configure gitgit config --global diff.tool winxmergegit config --global difftool.winxmerge.cmd 'winxmerge "$LOCAL" "$REMOTE"'git config --global difftool.prompt falsemergetool Setup (3-Way Merge)
Section titled “mergetool Setup (3-Way Merge)”git config --global merge.tool winxmergegit config --global mergetool.winxmerge.cmd 'winxmerge "$BASE" "$LOCAL" "$REMOTE"'git config --global mergetool.winxmerge.trustExitCode true# View working tree changesgit difftool
# Diff a specific filegit difftool -- path/to/file.rs
# Diff between branchesgit difftool main..feature-branch
# Resolve merge conflictsgit mergetoolSingle-Instance Tab Mode
Section titled “Single-Instance Tab Mode”When git difftool processes multiple changed files, WinXMerge uses IPC (Unix domain socket) to detect a running instance. Instead of opening multiple windows, subsequent diffs are opened as new tabs in the existing window.
When two or more file pairs are opened this way, they are displayed as a virtual folder comparison view. Double-click a file in the folder view to open its detailed diff in a new tab.
This behavior is automatic — no additional configuration is needed.