Comparison of file comparison tools

From Wikipedia, the free encyclopedia - View original article

 
Jump to: navigation, search


General[edit]

Basic general information about file comparison software.

NameCreatorSoftware licenseCostFirst public release dateYear of latest stable versionWindowsMacintoshLinuxOther platformsMax Supported File Size
Beyond CompareScooter Software[1]ProprietaryUSD 30 (std), 50 (pro)19962014 (v3.3.11)Yes (Win95 and up)NoYes
Compare++Coode Software[2]ProprietaryUSD 29.95 with free 30-day trial[3]20102013 (v2.15)Yes[4]NoNo
diff, diff3AT&TBSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary-1974YesYes (Mac OS X)Yesported to most platforms as part of SCCS> 2GB but less than 64 bits
EdiffMichael Kifer[5]GPLFree19942.81.4YesYes (Mac OS X)YesAnything with Emacs
ExamDiff ProPrestoSoft[6]ProprietaryUSD 35, with a trial version available[7]19982013 (v6.0.3.12)Yes (Win98 and up)NoNo
fcMicrosoft[8]ProprietaryPart of OS1987Yes (DOS)NoNo
FileMergeApple Inc.ProprietaryFree (part of Apple Developer Tools)1993 (part of NEXTSTEP 3.2[9])2014 (v2.8)NoYes (Mac OS X)No
IntelliJ IDEA CompareJetBrains[10]ProprietaryPart of application2007 (v6.0.5)YesYesYes
jEdit JDiff pluginVarious[11]GPLFree19982012 (3.3.0)YesYesYesAnything with Java
KompareOtto Bruggeman[12]GPLFreeYes [13]Yes (Mac OS X)Yes
Lazarus DiffLazarus (software)GPL-20002009YesYesYesFreeBSD
MeldStephen Kennedy[14]GPL-20022014-1-23 (v1.8.4)Yes[15]YesYesBSD, Solaris
Perforce P4MergePerforceProprietary[16]-2013 (2013.2)YesYesYesSun Solaris
Pretty DiffAustin Cheney[17]GPL-compatibleFree20092012-07-05Yes (Web)Yes (Web)Yes (Web)Node.js, Windows Script Host
TkdiffTkdiff[18]GPLFree2003 (or before)2011-11-27 (v4.2)Yes (Tcl)Yes (Tcl)Yes (Tcl)Anything with Tcl
Total Commander CompareChristian Ghisler[19]ProprietaryPart of application2010-12-17 (v7.56a)YesNoNo
twdiff (TextWrangler Diff Helper)Bare Bones Software, Inc.[20]Proprietaryfree (with TextWrangler [free])2012 (1.0 (v22))NoYesNoNo
vimdiffBram Moolenaar et al.GPL-compatible-20012006-05-07 (v7.0)YesYesYesAnything with vim
WinDiffMicrosoft[21]ProprietaryPart of Platform SDK19922003 ? (v6.1)YesNoNoNo
WinMergeDean Grimm[22]GPLFree19982013-02-03 (v2.14.0)Yes (Win95 and up)NoNo2 GiB
UCCUSC CSSE[23]USC-CSSE Limited Public License[24]Free20092010-07YesYesYes {2.6.9}Sun Solaris
NameCreatorSoftware licenseCostFirst public release dateYear of latest stable versionWindowsMacintoshLinuxOther platformsMax Supported File Size

Compare features[edit]

NameShow in-line changesDirectory comparisonBinary comparisonMoved lines3-way comparisonMergeStructured comparison[25]
Beyond CompareYesYesYesNoYesYes (Pro only)
Compare++YesYesYesYesYes (C/C++,C#,Java,Javascript,CSS3)
diffNoYespartlyNoNoNo
diff3NoNoYes (non-optional)
Eclipse CompareYesYesYes
EdiffYesYesYesYesYes
ExamDiff ProYesYesYesYes[26]Yes (ExamDiff Pro Master, only) [27]Yes
fcNoNoYesNoNo
FileMergeYesYesYesYes (optional ancestor)Yes
IntelliJ IDEA CompareYesYesYes
jEdit JDiff pluginYesNoYes
KompareYesNoNo
Lazarus Diff
MeldYesYesNoYesYesYes
Perforce P4MergeYesNoNoYesYes
Pretty DiffYesNoNoNoNoNoYes
TkdiffYesNoNoNoNoNo
Total Commander CompareYesYesYesNoYes
vimdiffYesYes (via DirDiff plugin)No (can do 2, 3, or 4 file diffs, but not a 3-way diff)
WinDiffYesYesYesYesNoNo
WinMergeYesYesNoYesNoYes
UCCYesYesYesYesNoYes
NameShow in-line changesDirectory comparisonBinary comparisonMoved lines3-way comparisonMergeStructured comparison[25]

API / editor features[edit]

NameGUICLIScriptingHorizontal / VerticalSyntax HighlightingReports
Beyond CompareYesYesYesbothYesXML, HTML, CSV, Text, Unix Patch
Compare++YesYesbothYesHTML, Text(combined or side-by-side)
diffNoYeshorizontal
diff3NoYeshorizontal
Eclipse CompareYesverticalYes
EdiffYesYeselispbothYes
ExamDiff ProYesYesoptionalYesUNIX, HTML, Diff
fcNoYeshorizontal
FileMergeYesYesverticalYesNo
IntelliJ IDEA CompareYesverticalYes
jEdit JDiff pluginYesbothYes
KompareYesverticalNo
Lazarus DiffYesYes
MeldYeshorizontalYesNo
Perforce P4MergeYesYesverticalNoNo
Pretty DiffYesYesJavaScriptBothNoXHTML
TkdiffYes
Total Commander CompareYesoptional
vimdiffYesYesvim scriptbothYesHTML
WinDiffYesYeshorizontalNoText
WinMergeYesYesverticalYesCSV, Tab-delimited, HTML, XML
UCCYesYesverticalYesText, CSV
NameGUICLIScriptingHorizontal / VerticalSyntax HighlightingReports

Other features[edit]

Some other features which did not fit in previous table

NameZIP supportFTP supportVersion Control browsingPatch creationPatch applicationPatch previewUnicode supportXML-aware
Beyond CompareYesYesYes[28]YesNoYes
Compare++SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command lineYes
diffNoNoNoYesNoNoYesNo
diff3NoNoNo
Eclipse CompareYes
EdiffYesYesRCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[29]YesYesYes
ExamDiff ProYes[30]Yes[31]normal diff onlyYes
fcNoNoNo
FileMergeNosupported by OSNoNoNo
IntelliJ IDEA CompareYesYesYesYesYesYes
jEdit JDiff pluginYesYesYesYesYesYesYes
KompareYes
Lazarus Diff
MeldCVS, Subversion, GitYesYes
Perforce P4MergeNoYes
Pretty DiffNoNoNoNoNoNoYesYes
TkdiffNoNoCVS, RCS, SubversionNoNoNoNoNo
Total Commander CompareYesYes
vimdiffYesYesYesYes
WinDiffNoNoNoNo
WinMergeYesNoMercurial,[32] Subversion,[33] Visual Source Safe, Rational ClearCase[34]YesYes
UCCYesNoYes
NameZIP supportFTP supportVersion Control browsingPatch creationPatch applicationPatch previewUnicode supportXML-aware

Aspects[edit]

What aspects can be / are compared?

NameFilename casingCRCFiledateDaylight savingCharacter casing
Beyond CompareYesYesYesYesYes
Compare++YesYesYesYes
diffYesNoNoNoOptional
diff3
Eclipse Compare
Ediff
ExamDiff ProNoYesYesYesYes
fcNoOptional
FileMergeNoNoNoOptional
IntelliJ IDEA Compare
jEdit JDiff plugin
KompareYes
Lazarus Diff
Meld
Perforce P4MergeN/ANoNoNoYes
Pretty DiffN/ANoNoNoOptional
Tkdiff
Total Commander CompareOptionalOptional
vimdiffNoNoNoNoYes
WinDiffNoNowhen differentYesOptional
WinMergeNoNoOptionalOptional
UCCNoNoYesNo
NameFilename casingCRCFiledateDaylight savingCharacter casing

See also[edit]

References[edit]