Skip to content
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
C++ C Inno Setup Visual Basic Batchfile Python Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ArchiveSupport/Merge7z Change VS Configuration name 'Unicode(Debug|Release)' to 'Debug|Release' Jun 30, 2019
Docs Fix new manual path in other readme's Sep 15, 2019
Externals Remove .hgeol, .hgignore, hg_clone.cmd Sep 1, 2019
Filters Rename some readme.txt to README.md Sep 24, 2018
Installer Installer: Add Japanese manual Sep 11, 2019
Plugins
ShellExtension Change VS Configuration name 'Unicode(Debug|Release)' to 'Debug|Release' Jun 30, 2019
Src Fix GitHub issue #182: WinMerge toolbar appears too small on UHD and … Sep 15, 2019
Testing Fix CI build Sep 12, 2019
Tools File report: Fix a problem without showing line numbers May 31, 2019
Translations Some fixes in French translation Sep 17, 2019
.gitattributes Add .gitattributes Sep 1, 2019
.gitignore Update .gitignore Sep 1, 2019
.gitmodules Add submodules Aug 25, 2019
.hgtags Added tag 2.16.1 for changeset 42d99f4c9b2e Feb 24, 2019
BuildAll.vs2017.cmd Add date and revision to file names of CI artifacts (2) Jun 22, 2019
BuildAll.vs2019.cmd Add date and revision to file names of CI artifacts (2) Jun 22, 2019
BuildArc.cmd Use echo commands in BuildArc.cmd Jul 29, 2019
BuildBin.vs2017.cmd Change VS Configuration name 'Unicode(Debug|Release)' to 'Debug|Release' Jun 30, 2019
BuildBin.vs2019.cmd Change VS Configuration name 'Unicode(Debug|Release)' to 'Debug|Release' Jun 30, 2019
BuildInstaller.cmd Installer: Use Inno Setup 6 to build WinMerge x64 installer (8) May 22, 2019
BuildManual.cmd Manual: Use new build files in global BuildManual.cmd Sep 11, 2019
CreateRelease.cmd Add submodules Aug 25, 2019
DownloadDeps.cmd Use xsltproc instead of Saxon 6 to support encodings other than UTF-8 Sep 15, 2019
ExpandEnvironmenStrings.vbs Merge from rev.7205 Jun 29, 2010
LICENSE.md Add global license file Aug 25, 2019
README.md Remove out-dated compiling readme Apr 12, 2019
SetVersion.cmd Bump revision to 2.16.5 Aug 1, 2019
UploadToVirusTotal.cmd - Upload releases to virustotal.com using CreateRelease.cmd rather th… Oct 21, 2017
Version.h Bump revision to 2.16.5 Aug 1, 2019
Version.in Fix release build error (2) Oct 15, 2018
WinMerge.vs2017.sln Add GUITests project Jul 21, 2019
WinMerge.vs2019.sln Add GUITests project Jul 21, 2019
appveyor.yml Change VS Configuration name 'Unicode(Debug|Release)' to 'Debug|Release' Jun 30, 2019
clean.cmd Apply my experimental code and fixes for Japanese MS-Windows. Apr 18, 2010
runastyle.bat Add empty last line. Oct 21, 2009

README.md

WinMerge Source Code

WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.

Requirements

Visual Studio 2017

  • Community, Professional or Enterprise Edition
  • VC++ 2017 v141 toolset
  • Windows XP support for C++
  • MFC and ATL support
  • Windows 10 SDK

Visual Studio 2019

  • Community, Professional or Enterprise Edition
  • MSVC v142 Buildtools
  • C++ MFC for v142 Buildtools
  • Windows 10 SDK

Folder Structure

Source code for the WinMerge program, its plugins, filters, setup program, and various utilities are all kept in various subfolders listed below.

Changelog file is in Docs/Users/ChangeLog.txt and it logs user-visible or otherwise significant changes.

Subfolders include:

  • Docs
    Both user and developer documentation, in different subfolders. Can be browsed by opening index.html in Docs folder.

  • Src
    Source code to the WinMerge program itself.

  • Plugins
    Source code and binaries for WinMerge runtime plugin dlls & scripts

  • Filters
    WinMerge file filters which are shipped with the distribution.

  • ArchiveSupport
    Source code for the Merge7z dlls, which connect WinMerge with 7-Zip Also this folder is required to compile WinMergeU.exe. There is also standalone installer for Merge7z dlls.

  • Externals
    This folder contains several libraries whose sources come from outside WinMerge project. They are stored here for convenience for building and possible needed small changes for WinMerge. Libraries include XML parser and regular expression parser.

  • Installer
    Installer for WinMerge.

  • Tools
    Various utilities used by WinMerge developers; see readme files in each.

  • ShellExtension
    Windows Shell (Explorer) integration. Adds menuitems to Explorer context menu for comparing files and folders.

  • Testing
    A suite of test diff files and a script to run them and report the results. This folder also has Google Test subfolder containing unit tests made with Google Test Framework.

  • Build
    This folder gets created by compiler when WinMerge is compiled. It contains compiled executables, libraries, user manual etc.

  • BuildTmp
    This folder gets created by compiler when WinMerge is compiled. It contains temporary files created during the compilation and can be safely removed.

You can’t perform that action at this time.