Comparison of file comparison tools

Main article: Data comparison

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

Basic general information about file comparison software.

Name Creator FOSS Free First public release date Year of latest stable version Windows Macintosh Linux Other platforms Max Supported File Size
Araxis Merge Araxis Ltd No; Proprietary No; £79/169 GBP Standard/Pro 2015 (regularly updated) Yes Yes No No >2GB (64bit)
Beyond Compare Scooter Software[1] No; Proprietary No; $US30 (std), 60 (pro) 1996 2016 (v4.1.5) Yes Yes Yes > 2GB (64 bits)
Code Compare Devart No; Proprietary Yes $49.95 Pro April 13, 2010 2015 (regularly updated) Yes No No No
Compare++ Coode Software[2] No; Proprietary No; $29.95, 30-day free trial[3] 2010 2013 (v2.15) Yes[4] No No
diff, diff3 AT&T Yes; BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary Yes 1974 Yes Yes (Mac OS X) Yes ported to most platforms as part of SCCS > 2GB but less than 64 bits
SG DiffMerge SourceGear[5] No; Proprietary No; $US19[6] 2003 2013-10 (4.2.0) Yes Yes Yes
DiffTool[7] Ludwig Gruber No; Proprietary Yes; (on Google Play Store) 2014 2015 (1.57) No No No Android
Diffuse[8] Derrick Moser Yes; GPL Yes 2006 2014-07 (0.4.8) Yes Yes Yes Anything with PyGtk+[9]
Eclipse (compare) [10] Yes; Eclipse Public License Yes 2004-07-21 2014-09-26 Yes Yes Yes Anything with Java
Ediff Michael Kifer[11] Yes; GPL Yes 1994 2.81.4 Yes Yes (Mac OS X) Yes Anything with Emacs
ExamDiff Pro PrestoSoft[12] No; Proprietary No; $35, free file-only version[13] 1998 2014 (v7.0.1.6) Yes (Win98 and up) No No
Far Manager (compare) Eugene Roshal (original); FAR Group Yes; Revised BSD license Yes 1996 2014 August (v 3.0 build 4040) Yes No No
fc Microsoft[14] No; Proprietary Yes; Part of OS 1987 Yes (DOS) No No
FileMerge (aka opendiff) Apple Inc. No; Proprietary Yes; (part of Apple Developer Tools) 1993 (part of NEXTSTEP 3.2[15]) 2014 (v2.8) No Yes (Mac OS X) No
Guiffy SureMerge Guiffy Software[16] No; Proprietary No; $37.50(Pro), 75(eXpert) 2000 2016 April (v11.4) Yes Yes Yes Anything with Java > 2GB
IntelliJ IDEA (compare) JetBrains[17] No; Proprietary No 2007 (v6.0.5) Yes Yes Yes
jEdit JDiff plugin Various[18] Yes; GPL Yes 1998 2012 (3.3.0) Yes Yes Yes Anything with Java
KDiff3[19] Joachim Eibl Yes; GPL Yes 2002 2014-07 (0.9.98) Yes Yes Yes Qt4 or Qt5
Kompare Otto Bruggeman[20] Yes; GPLv2+ Yes Yes [21] Yes (Mac OS X) Yes
Lazarus Diff Lazarus (software) Yes; GPL Yes 2000 2009 Yes Yes Yes FreeBSD
Meld Stephen Kennedy[22] Yes; GPLv2+ Yes 2002 2015-07-23 (v3.14.0) Yes[23] Yes Yes BSD, Solaris
Notepad++ (compare) Various Yes; GPLv3 Yes 2009 2015-01-06 (1.5.6.6) Yes[24] No No
Perforce P4Merge Perforce No; Proprietary Yes 2015 (2015.2) Yes Yes Yes Sun Solaris
Pretty Diff Austin Cheney[25] Yes; MIT-compatible Yes 2009 2014-11-26 Yes (Web) Yes (Web) Yes (Web) Node.js, Windows Script Host
Tkdiff Tkdiff[26] Yes; GPLv2+ Yes 2003 (or before) 2011-11-27 (v4.2) Yes (Tcl) Yes (Tcl) Yes (Tcl) Anything with Tcl
Total Commander (compare) Christian Ghisler[27] No; Proprietary No 2015-09-17 (v8.52a) Yes No No
twdiff (TextWrangler Diff Helper) Bare Bones Software, Inc.[28] No; Proprietary Yes; with TextWrangler 2012 (1.0 (v22)) No Yes No No
vimdiff Bram Moolenaar et al. Yes; GPL-compatible [29] Yes 2001 2006-05-07 (v7.0) Yes Yes Yes Anything with vim
WinDiff Microsoft[30] No; Proprietary Yes; Part of Platform SDK 1992 16.08.2002 14:36:14 (v5.00.2195.6601) Yes No No No
WinMerge Dean Grimm[31] Yes; GPL Yes 1998 2013-02-03 (v2.14.0) Yes (Win95 and up) Yes (in wine[32]) Yes (in wine[33]) 2 GB
UCC USC CSSE[34] No; USC-CSSE Limited Public License Yes 2009 2010-07 Yes Yes Yes {2.6.9} Sun Solaris
UltraCompare IDM Computer Solutions, Inc.[35] No; Proprietary No; $24.95, 30-day free trial[36] 2014 (v15) Yes Yes Yes
Name Creator FOSS Free First public release date Year of latest stable version Windows Macintosh Linux Other platforms Max Supported File Size

Compare features

Name Show in-line changes Directory comparison Binary comparison Moved lines 3-way comparison Merge Structured comparison[37] Manual compare alignment Image Compare
Araxis Merge Yes Yes Yes Yes Yes Yes No
Beyond Compare Yes Yes Yes No Yes (Files and Folders) Yes (Pro only) Yes Yes
Code Compare Yes Yes Yes (Pro only) Yes (Pro only) Yes Yes (Pro only) (C/C++,C#,Java,JavaScript,CSS3) No
Compare++ Yes Yes Yes Yes Yes (C/C++,C#,Java,Javascript,CSS3)
diff No Yes partly No No No
diff3 No No Yes (non-optional)
SG DiffMerge Yes Yes Yes Yes line alignment marker
DiffTool Yes Yes Yes No No Yes (folders)
Diffuse Yes No arbitrary file diffs, but not a 3-way diff Yes line alignment, isolate
Eclipse (compare) Yes No (only ancestor) Yes No
Ediff Yes Yes Yes Yes Yes
ExamDiff Pro Yes Yes Yes Yes[38] Yes (ExamDiff Pro Master, only) [39] Yes manual synchronization
Far Manager (compare) Yes (Via plugin) [40] Yes Yes Yes (Via plugin) [40] No No
fc No No Yes No No
FileMerge Yes Yes Yes Yes (optional ancestor) Yes
Guiffy SureMerge Yes Yes Yes Yes Yes
IntelliJ IDEA (compare) Yes Yes Yes
jEdit JDiff plugin Yes No Yes
KDiff3 Yes Yes Yes Yes alignment marker, split/join
Kompare Yes No No
Lazarus Diff
Meld Yes Yes No No Yes Yes line alignment, unlink scroll
Notepad++ (compare) Yes No No Yes No No No
Perforce P4Merge Yes No No Yes Yes
Pretty Diff Yes Yes No No No No Yes No
Tkdiff Yes No No No No No
Total Commander (compare) Yes Yes Yes No Yes resync comparasion
vimdiff Yes Yes (via DirDiff plugin) Yes Yes
WinDiff Yes Yes Yes Yes No No
WinMerge Yes Yes No Yes No Yes No
UCC Yes Yes Yes Yes No Yes
Name Show in-line changes Directory comparison Binary comparison Moved lines 3-way comparison Merge Structured comparison[37] Manual compare alignment Image compare

API / editor features

Name GUI CLI Scripting Horizontal / Vertical Syntax Highlighting Reports
Araxis Merge Yes Yes Yes Both Yes Yes
Beyond Compare Yes Yes Yes Both Yes XML, HTML, CSV, Text, Unix Patch
Code Compare Yes Yes No Both Yes No
Compare++ Yes Yes Both Yes HTML, Text(combined or side-by-side)
diff No Yes Horizontal Yes pipe to diff-highlight[41]
diff3 No Yes Horizontal
SG DiffMerge Yes Yes Both No HTML, Text(unified, traditional or side-by-side)
DiffTool Yes by Intent() Yes Both Text
Diffuse Yes Yes Vertical Yes
Eclipse (compare) Yes Vertical Yes
Ediff Yes Yes elisp Both Yes
ExamDiff Pro Yes Yes optional Yes UNIX, HTML, Diff
Far Manager (compare) Yes Yes Yes Yes No
fc No Yes Horizontal
FileMerge Yes Yes Vertical Yes No
Guiffy SureMerge Yes Yes Java API Both Yes HTML, Text, Unix Patch
IntelliJ IDEA (compare) Yes Vertical Yes
jEdit JDiff plugin Yes Both Yes
KDiff3 Yes Yes Both No
Kompare Yes Vertical No
Lazarus Diff Yes Yes
Meld Yes Horizontal Yes No
Notepad++ (compare) Yes Yes Both Yes No
Perforce P4Merge Yes Yes Vertical No No
Pretty Diff Yes Yes JavaScript Both Yes XHTML
Tkdiff Yes
Total Commander (compare) Yes optional
vimdiff Yes Yes vim script Both Yes HTML
WinDiff Yes Yes Horizontal No Text
WinMerge Yes Yes Vertical Yes CSV, Tab-delimited, HTML, XML
UCC Yes Yes Vertical Yes Text, CSV
Name GUI CLI Scripting Horizontal / Vertical Syntax Highlighting Reports

Other features

Some other features which did not fit in previous table

Name ZIP support FTP support SFTP support Version Control browsing Patch creation Patch application Patch preview Unicode support XML-aware
Araxis Merge Yes No Browse file versions but not folders Yes Yes
Beyond Compare Yes Yes Yes SVN Yes Yes Yes Yes
Code Compare No No No Yes No No No Yes Yes
Compare++ SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line Yes
diff No No No Yes Yes with patch Yes with patch No No
diff3 No No No
SG DiffMerge Git, Mercurial, SVN, Microsoft TFS, VSS 2005 Yes
DiffTool Yes + APK No Yes [42]
Diffuse Baazar, CVS, Darks Git, Mercurial, Monotone, RCS, SVN, SVK Yes
Eclipse (compare) Yes CVS, Subversion, Git, Mercurial, Baazar Yes
Ediff Yes Yes RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[43] Yes Yes Yes
ExamDiff Pro Yes[44] Yes[45] normal diff only Yes
Far Manager (compare) No No No No No No Yes No
fc No No No
FileMerge No supported by OS No No No
Guiffy SureMerge Yes Yes Yes Yes Yes[46]
IntelliJ IDEA (compare) Yes Yes Yes Yes Yes Yes
jEdit JDiff plugin Yes Yes Yes Yes Yes Yes Yes
KDiff3 Yes Yes
Kompare Yes
Lazarus Diff
Meld CVS, Subversion, Git, Mercurial, Baazar Yes Yes
Notepad++ (compare) No Yes[47] Git, Subversion (compare against base) No No No Yes No
Perforce P4Merge No Yes
Pretty Diff No No No No No No No Yes Yes
Tkdiff No No CVS, RCS, Subversion No No No No No
Total Commander (compare) Yes Yes
vimdiff Yes Yes Yes Yes
WinDiff No No No No
WinMerge Yes No Mercurial,[48] Subversion,[49] Visual Source Safe, Rational ClearCase[50] Yes Yes
UCC Yes No Yes
Name ZIP support FTP support SFTP support Version Control browsing Patch creation Patch application Patch preview Unicode support XML-aware

Aspects

What aspects can be / are compared?

Name Filename casing CRC Filedate Daylight saving Character casing
Araxis Merge Yes Yes Yes
Beyond Compare Yes Yes Yes Yes Yes
Code Compare
Compare++ Yes Yes Yes Yes
diff Yes No No No Optional
diff3
SG DiffMerge
Diffuse Optional
DiffTool No Yes Yes Yes
Eclipse (compare)
Ediff
ExamDiff Pro No Yes Yes Yes Yes
Far Manager (compare) Yes No Yes No Yes
fc No Optional
FileMerge No No No Optional
Guiffy SureMerge filesystem dependent Yes Yes
IntelliJ IDEA (compare)
jEdit JDiff plugin
KDiff3 Optional
Kompare Yes
Lazarus Diff
Meld
Notepad++ (compare) No No No Yes
Perforce P4Merge N/A No No No Yes
Pretty Diff N/A No No No Optional
Tkdiff
Total Commander (compare) Optional Yes (in synchronize only) Optional
vimdiff No No No No Yes
WinDiff No No when different Yes Optional
WinMerge No No Optional Optional
UCC No No Yes No
Name Filename casing CRC Filedate Daylight saving Character casing

Timezone effects

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 quarters of an hour up to 95 (same minutes modulo 15 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.[51] Software known to have daylight-saving compensation is marked in the Aspects table.

See also

References

  1. Scooter Software
  2. Coode Software
  3. Coodesoft trial
  4. Compare++ Operating system information
  5. SourceGear DiffMerge
  6. register DiffMerge
  7. Download DiffTool
  8. diffuse
  9. GTK+ for Python
  10. Eclipse Compare
  11. Michael Kifer
  12. PrestoSoft
  13. ExamDiff Trial
  14. Microsoft
  15. NeXT Product Marketing (Fall 1993). "What's New in Release 3.2?". NEXTSTEP In Focus (NeXT Computer, Inc.) 3 (4). Retrieved 18 July 2014.
  16. Guiffy Software
  17. JetBrains
  18. jedit.org
  19. kdiff3
  20. Otto Bruggeman
  21. Installing Kompare in Windows
  22. Stephen Kennedy
  23. Meld/Windows
  24. Notepad++ compare plugin
  25. Pretty Diff
  26. tkdiff
  27. Christian Ghisler
  28. Bare Bones Software, Inc.
  29. vim license
  30. Microsoft
  31. Dean Grimm
  32. WinMerge in Wine
  33. WinMerge in Wine
  34. USC CSSE
  35. UltraEdit
  36. UltraCompare Downloads
  37. 1 2 Compare logical sections (class, methods)
  38. Examdiff
  39. Examdiff
  40. 1 2 Visual Rename
  41. https://github.com/git/git/tree/master/contrib/diff-highlight
  42. auto detection of ASC-II, Latin-1, CP1252, UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, Unix, Windows and Mac; text of DOCX, XLSX, PPTX, ODT, ODS, ODP
  43. gnu.org Support-for-Version-Control
  44. through a plug-in
  45. through a plug-in
  46. UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats
  47. Notepad++ FTP plugin
  48. "tortoisehg / stable / wiki / FAQ —". Bitbucket.org. Retrieved 2010-07-06.
  49. "Using WinMerge with other tools - WinMerge 2.12 Manual". Winmerge.org. Retrieved 2010-07-06.
  50. "About". WinMerge. Retrieved 2010-07-06.
  51. Example: "Beyond Compare" help describes a user setting "timezone differences - ignores timestamp differences that are multiples of an exact hour."
This article is issued from Wikipedia - version of the Friday, April 29, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.