Comparison of file comparison tools

From Wikipedia, the free encyclopedia - View original article

 
Jump to: navigation, search

This article compares computer software tools that compare files, and in many cases directories or folders, whether it is their main purpose or as part of more general file management.

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]Proprietary$US30 (std), 50 (pro)19962014 (v4.0.1)YesYesYes
Compare++Coode Software[2]Proprietary$29.95, 30-day free 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
DiffTool[5]Ludwig GruberProprietaryFree (on Google Play Store)20142014 (1.36)NoNoNoAndroid
EdiffMichael Kifer[6]GPLFree19942.81.4YesYes (Mac OS X)YesAnything with Emacs
ExamDiff ProPrestoSoft[7]Proprietary$35, free file-only version[8]19982014 (v7.0.1.6)Yes (Win98 and up)NoNo
Far Manager (compare)Eugene Roshal (original); FAR GroupRevised BSD licenseFree1996August 2014 (v 3.0 build 4040)YesNoNo
fcMicrosoft[9]ProprietaryPart of OS1987Yes (DOS)NoNo
FileMergeApple Inc.ProprietaryFree (part of Apple Developer Tools)1993 (part of NEXTSTEP 3.2[10])2014 (v2.8)NoYes (Mac OS X)No
Guiffy SureMergeGuiffy Software[11]Proprietary$37.50(Pro), 75(eXpert)2000November, 2014 (v11.0)YesYesYesAnything with Java> 2GB
IntelliJ IDEA (compare)JetBrains[12]ProprietaryPart of application2007 (v6.0.5)YesYesYes
jEdit JDiff pluginVarious[13]GPLFree19982012 (3.3.0)YesYesYesAnything with Java
KompareOtto Bruggeman[14]GPLv2+FreeYes [15]Yes (Mac OS X)Yes
Lazarus DiffLazarus (software)GPL-20002009YesYesYesFreeBSD
MeldStephen Kennedy[16]GPLv2+-20022014-09-27 (v3.12.0)Yes[17]YesYesBSD, Solaris
Perforce P4MergePerforceProprietary[18]-2013 (2013.2)YesYesYesSun Solaris
Pretty DiffAustin Cheney[19]MIT-compatibleFree20092014-11-26Yes (Web)Yes (Web)Yes (Web)Node.js, Windows Script Host
TkdiffTkdiff[20]GPLv2+Free2003 (or before)2011-11-27 (v4.2)Yes (Tcl)Yes (Tcl)Yes (Tcl)Anything with Tcl
Total Commander (compare)Christian Ghisler[21]ProprietaryPart of application2010-12-17 (v7.56a)YesNoNo
twdiff (TextWrangler Diff Helper)Bare Bones Software, Inc.[22]Proprietaryfree (with TextWrangler [free])2012 (1.0 (v22))NoYesNoNo
vimdiffBram Moolenaar et al.GPL-compatible-20012006-05-07 (v7.0)YesYesYesAnything with vim
WinDiffMicrosoft[23]ProprietaryPart of Platform SDK19922003 ? (v6.1)YesNoNoNo
WinMergeDean Grimm[24]GPLFree19982013-02-03 (v2.14.0)Yes (Win95 and up)NoNo2 GiB
UCCUSC CSSE[25]USC-CSSE Limited Public License[26]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[27]
Beyond CompareYesYesYesNoYes (Files and Folders)Yes (Pro only)
Compare++YesYesYesYesYes (C/C++,C#,Java,Javascript,CSS3)
diffNoYespartlyNoNoNo
diff3NoNoYes (non-optional)
DiffToolYesYesYesNoNoYes (folders)
Eclipse (compare)YesYesYes
EdiffYesYesYesYesYes
ExamDiff ProYesYesYesYes[28]Yes (ExamDiff Pro Master, only) [29]Yes
Far Manager (compare)Yes (Via plugin) [30]YesYesYes (Via plugin) [31]NoNo
fcNoNoYesNoNo
FileMergeYesYesYesYes (optional ancestor)Yes
Guiffy SureMergeYesYesYesYes
IntelliJ IDEA (compare)YesYesYes
jEdit JDiff pluginYesNoYes
KompareYesNoNo
Lazarus Diff
MeldYesYesNoNoYesYes
Perforce P4MergeYesNoNoYesYes
Pretty DiffYesYesNoNoNoNoYes
TkdiffYesNoNoNoNoNo
Total Commander (compare)YesYesYesNoYes
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[27]

API / editor features[edit]

NameGUICLIScriptingHorizontal / VerticalSyntax HighlightingReports
Beyond CompareYesYesYesbothYesXML, HTML, CSV, Text, Unix Patch
Compare++YesYesbothYesHTML, Text(combined or side-by-side)
diffNoYeshorizontal
diff3NoYeshorizontal
DiffToolYesby Intent()Yeslandscape + portraitText
Eclipse (compare)YesverticalYes
EdiffYesYeselispbothYes
ExamDiff ProYesYesoptionalYesUNIX, HTML, Diff
Far Manager (compare)YesYesYesYesNo
fcNoYeshorizontal
FileMergeYesYesverticalYesNo
Guiffy SureMergeYesYesJava APIbothYesHTML, Text, Unix Patch
IntelliJ IDEA (compare)YesverticalYes
jEdit JDiff pluginYesbothYes
KompareYesverticalNo
Lazarus DiffYesYes
MeldYeshorizontalYesNo
Perforce P4MergeYesYesverticalNoNo
Pretty DiffYesYesJavaScriptBothYesXHTML
TkdiffYes
Total Commander (compare)Yesoptional
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[32]YesYesYesYes
Compare++SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command lineYes
diffNoNoNoYesNoNoYesNo
diff3NoNoNo
DiffToolNoNoYes [33]
Eclipse (compare)Yes
EdiffYesYesRCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[34]YesYesYes
ExamDiff ProYes[35]Yes[36]normal diff onlyYes
Far Manager (compare)NoNoNoNoNoNoYesNo
fcNoNoNo
FileMergeNosupported by OSNoNoNo
Guiffy SureMergeYesYesYes[37]
IntelliJ IDEA (compare)YesYesYesYesYesYes
jEdit JDiff pluginYesYesYesYesYesYesYes
KompareYes
Lazarus Diff
MeldCVS, Subversion, Git, Mercurial, BaazarYesYes
Perforce P4MergeNoYes
Pretty DiffNoNoNoNoNoNoYesYes
TkdiffNoNoCVS, RCS, SubversionNoNoNoNoNo
Total Commander (compare)YesYes
vimdiffYesYesYesYes
WinDiffNoNoNoNo
WinMergeYesNoMercurial,[38] Subversion,[39] Visual Source Safe, Rational ClearCase[40]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
DiffToolNoYesYesYes
Eclipse (compare)
Ediff
ExamDiff ProNoYesYesYesYes
Far Manager (compare)YesNoYesNoYes
fcNoOptional
FileMergeNoNoNoOptional
Guiffy SureMergefilesystem dependentYesYes
IntelliJ IDEA (compare)
jEdit JDiff plugin
KompareYes
Lazarus Diff
Meld
Perforce P4MergeN/ANoNoNoYes
Pretty DiffN/ANoNoNoOptional
Tkdiff
Total Commander (compare)OptionalYes (in synchronize only)Optional
vimdiffNoNoNoNoYes
WinDiffNoNowhen differentYesOptional
WinMergeNoNoOptionalOptional
UCCNoNoYesNo
NameFilename casingCRCFiledateDaylight savingCharacter casing

Timezone effects[edit]

When files are transferred across time zones and between Microsoft FAT and NTFS file systems, the timestamp displayed by the same file may change, so that identical files with different storage histories are deemed different by a comparer that requires the timestamps to match. The difference is an exact number of hours up to 23 (same minutes and seconds) if the file was transported across zones; there is also a one-hour difference within a single zone caused by the transition between winter and daylight-saving time (DST). Some, but not all, file comparison and synchronisation software can be configured to ignore the DST and time-zone differences.[41] Software known to have daylight-saving compensation is marked in the Aspects table.

See also[edit]

References[edit]

  1. ^ Scooter Software
  2. ^ Coode Software
  3. ^ Coodesoft trial
  4. ^ Compare++ Operating system information
  5. ^ Download DiffTool
  6. ^ Michael Kifer
  7. ^ PrestoSoft
  8. ^ ExamDiff Trial
  9. ^ Microsoft
  10. ^ NeXT Product Marketing (Fall 1993). "What's New in Release 3.2?". NEXTSTEP In Focus (NeXT Computer, Inc.) 3 (4). Retrieved 18 July 2014. 
  11. ^ Guiffy Software
  12. ^ JetBrains
  13. ^ jedit.org
  14. ^ Otto Bruggeman
  15. ^ Installing Kompare in Windows
  16. ^ Stephen Kennedy
  17. ^ Meld/Windows
  18. ^ Perforce Free License
  19. ^ Pretty Diff
  20. ^ tkdiff
  21. ^ Christian Ghisler
  22. ^ Bare Bones Software, Inc.
  23. ^ Microsoft
  24. ^ Dean Grimm
  25. ^ USC CSSE
  26. ^ USC-CSSE Limited Public License
  27. ^ a b Compare logical sections (class, methods)
  28. ^ Examdiff
  29. ^ Examdiff
  30. ^ Visual Rename
  31. ^ Visual Rename
  32. ^ Using Beyond Compare with Version Control Systems
  33. ^ auto detection of ASC-II, Latin-1, CP1252, UTF-8, UTF-16LE, UTF-16BE, Unix, Windows and Mac
  34. ^ gnu.org Support-for-Version-Control
  35. ^ through a plug-in
  36. ^ through a plug-in
  37. ^ UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats
  38. ^ "tortoisehg / stable / wiki / FAQ —". Bitbucket.org. Retrieved 2010-07-06. 
  39. ^ "Using WinMerge with other tools - WinMerge 2.12 Manual". Winmerge.org. Retrieved 2010-07-06. 
  40. ^ "About". WinMerge. Retrieved 2010-07-06. 
  41. ^ Example: "Beyond Compare" help describes a user setting "timezone differences - ignores timestamp differences that are multiples of an exact hour."