Comparison of file comparison tools
From Wikipedia, the free encyclopedia
Contents |
[edit] General
Basic general information about file comparison software.
| Name | Creator | Software license | Cost | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Used by[1] | Max Supported File Size |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Araxis Merge | Araxis Ltd[2] | Proprietary | USD 129 (std) - 269 (pro) | 1993 | 2010.3947 for Windows (2011-06-08); 2010.3907 for Mac OS X (2010-07-21) | Yes | Yes | No | No | 503[3] | |
| Beyond Compare | Scooter Software[4] | Proprietary | USD 30 (std), 50 (pro) | 1996 | 2011 (v3.3.3) | Yes (Win95 and up) | No | Yes | 4044[5] | ||
| Code Compare | Devart | Proprietary | Free. Pro version USD 49.95 | 2010 | 2011 (v2.70) | Yes | No | No | 218[6] | ||
| Compare++ | Coode Software[7] | Proprietary | USD 29.95 with free 30-day trial [8] | 2010 | 2011 (v1.6) | Yes[9] | No | No | |||
| diff, diff3 | AT&T | BSD 3-clause, BSD 4-clause, CDDL, GPL, Proprietary | - | 1974 | Yes | Yes (Mac OS X) | Yes | ported to most platforms as part of SCCS | > 2GB but less than 64 bits | ||
| Duplicate Annihilator | Brattoo Propaganda Software[10] | Proprietary | USD 7.95 - 19.95, with a free demo | 2010 | 2011 | No | Yes | No | |||
| Eclipse Compare | Eclipse | EPL | - | 2004 | Yes | Yes (Mac OS X) | Yes | Anything with Java | |||
| Ediff | Michael Kifer[11] | GPL | Free | 1994 | 2.81.4 | Yes | Yes (Mac OS X) | Yes | Anything with Emacs | ||
| ExamDiff Pro | PrestoSoft[12] | Proprietary | USD 35, with a free version available[13] | 1998 | 2010 (v5.0.1.13) | Yes (Win98 and up) | No | No | 216[14] | ||
| fc | Microsoft[15] | Proprietary | Part of OS | 1987 | Yes (DOS) | No | No | ||||
| FileMerge | Apple Inc. | Proprietary | Free (part of Apple Developer Tools) | 2005 (v2.2.1) | No | Yes (Mac OS X) | No | ||||
| Guiffy SureMerge | Guiffy Software[16] | Proprietary | USD 59 | 2000 | 2011 (v9.6) | Yes | Yes | Yes | Anything with Java | ||
| IntelliJ IDEA Compare | JetBrains[17] | Proprietary | Part of application | 2007 (v6.0.5) | Yes | Yes | Yes | ||||
| jEdit JDiff plugin | Various[18] | GPL | Free | 1998 | 1.9.0 | Yes | Yes | Yes | Anything with Java | ||
| Kompare | Otto Bruggeman[19] | GPL | Free | 2005-11-29 (v3.5.0) | No | Yes (Mac OS X) | Yes | ||||
| Lazarus Diff | Lazarus (software) | GPL | - | 2000 | 2009 | Yes | Yes | Yes | FreeBSD | ||
| Meld | Stephen Kennedy[20] | GPL | - | 2002 | 2011-3-20 (v1.5.1) | Yes[21] | Yes | Yes | BSD, Solaris | ||
| Perforce P4Merge | Perforce | Freeware[22] | - | 2009.2 | Yes | Yes | Yes | Sun Solaris | |||
| Tkdiff | Tkdiff[23] | GPL | Free | 2003 (or before) | 2011-11-27 (v4.2) | Yes (Tcl) | Yes (Tcl) | Yes (Tcl) | Anything with Tcl | ||
| Total Commander Compare | Christian Ghisler[24] | Proprietary | Part of application | 2010-12-17 (v7.56a) | Yes | No | No | ||||
| vimdiff | Bram Moolenaar et al. | GPL-compatible | - | 2001 | 2006-05-07 (v7.0) | Yes | Yes | Yes | Anything with vim | ||
| WinDiff | Microsoft[25] | Proprietary (with source code) | Part of Platform SDK | 1992 | 2003 ? (v6.1) | Yes | No | No | No | ||
| WinMerge | Dean Grimm[26] | GPL | Free | 1998 | 2009-06-09 (v2.12.4) | Yes (Win95 and up) | No | No | 5212[27] | 2 GiB | |
| OOP-DIFF | Schneider Soft[28] | Proprietary | Free | 2010 | 2011 (v1.5.0) | Yes (Win95 and up) | No {mono .NET} | No | |||
| UCC | USC CSSE[29] | USC-CSSE Limited Public License [30] | Free | 2009 | 2010-07 | Yes | Yes | Yes {2.6.9} | Sun Solaris |
[edit] Compare Features
| Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[31] |
|---|---|---|---|---|---|---|---|
| Araxis Merge | Yes | Yes | Yes | No | Yes (Professional Edition only) | Yes | |
| Beyond Compare | Yes | Yes | Yes | No | Yes | Yes (Pro only) | |
| Code Compare | Yes | Yes | Yes | Yes (Code Compare Pro only) | Yes | Yes (Code Compare Pro only) | |
| Compare++ | Yes | Yes | Yes | Yes (C/C++,C#,Java,Javascript,CSS3) | |||
| diff | No | Yes | partly | No | No | No | |
| diff3 | No | No | Yes (non-optional) | ||||
| Eclipse Compare | Yes | Yes | Yes | ||||
| Ediff | Yes | Yes | Yes[32] | Yes | Yes | ||
| ExamDiff Pro | Yes | Yes | Yes | Yes[33] | No | Yes | |
| fc | No | No | Yes | No | No | ||
| FileMerge | Yes | Yes | Yes | Yes (optional ancestor) | Yes | ||
| Guiffy SureMerge | Yes | Yes | Yes | Yes | |||
| IntelliJ IDEA Compare | Yes | Yes | |||||
| jEdit JDiff plugin | No | Yes | |||||
| Kompare | Yes | No | No | ||||
| Lazarus Diff | |||||||
| Meld | Yes | Yes | No | No | Yes | Yes | |
| OOP-DIFF | No | Yes | No | No | No | No | Yes |
| Perforce P4Merge | Yes | No | No | Yes | Yes | ||
| Tkdiff | Yes | No | No | No | No | No | |
| Total Commander Compare | Yes | Yes | Yes | No | Yes | ||
| vimdiff | Yes | Yes (via DirDiff plugin) | Yes | ||||
| WinDiff | Yes | Yes | No | Yes | No | No | |
| WinMerge | Yes | Yes | Yes | Yes | No | Yes | |
| UCC | Yes | Yes | Yes | Yes | No | Yes | |
| Name | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[34] |
[edit] API / Editor Features
| Name | GUI | CLI | Scripting | Horizontal / Vertical | Syntax Highlighting | Reports |
|---|---|---|---|---|---|---|
| Araxis Merge | Yes | Yes | Yes | both | since Araxis Merge 2007 | XML, HTML, Slideshow, diff |
| Beyond Compare | Yes | Yes | Yes | both | Yes | XML, HTML, CSV, Text, Unix Patch |
| Code Compare | Yes | Yes | both | Yes | ||
| Compare++ | Yes | Yes | both | Yes | HTML, Text(combined or side-by-side) | |
| diff | No | Yes | horizontal | |||
| diff3 | No | Yes | horizontal | |||
| Eclipse Compare | Yes | vertical | Yes | |||
| Ediff | Yes | No | both | Yes | ||
| ExamDiff Pro | Yes | Yes | optional | Yes | UNIX, HTML, Diff | |
| fc | No | Yes | horizontal | |||
| FileMerge | Yes | Yes | vertical | Yes | No | |
| Guiffy SureMerge | Yes | Yes | both | Yes | HTML | |
| IntelliJ IDEA Compare | Yes | vertical | Yes | |||
| jEdit JDiff plugin | Yes | both | Yes | |||
| Kompare | Yes | vertical | No | |||
| Lazarus Diff | Yes | Yes | ||||
| Meld | Yes | horizontal | Yes | No | ||
| Perforce P4Merge | Yes | Yes | vertical | No | No | |
| Tkdiff | Yes | |||||
| Total Commander Compare | Yes | optional | ||||
| vimdiff | Yes | Yes | vim script | both | Yes | HTML |
| OOP-DIFF | Yes | Yes | No | both | No | No |
| WinDiff | Yes | Yes | horizontal | No | ||
| 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 |
[edit] Other features
Some other features which did not fit in previous table
| Name | ZIP support | FTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
|---|---|---|---|---|---|---|---|---|
| Araxis Merge | No | Yes | Perforce[35], Subversion[36], Visual SourceSafe[37], AllChange[38] | UNIX diff | No | No | Yes[39] | Partial[40] |
| Beyond Compare | Yes | Yes | Yes[41] | Yes | No | Yes | ||
| Code Compare | Yes | |||||||
| Compare++ | SVN, CVS, Git, Microsoft TFS, Perforce, VSS using command line | Yes | ||||||
| diff | No | No | No | Yes | No | No | Yes | No |
| diff3 | No | No | No | |||||
| Ediff | Yes | Yes | RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)[42] | Yes | Yes | Yes | ||
| ExamDiff Pro | Yes[43] | Yes[44] | normal diff only | Yes | ||||
| fc | No | No | No | |||||
| FileMerge | No | supported by OS | No | No | No | |||
| Guiffy SureMerge | Yes | Yes | Yes[45] | |||||
| jEdit | Yes | Yes | Subversion | Yes | Yes | Yes | Yes | |
| Kompare | Yes | |||||||
| Lazarus Diff | ||||||||
| Meld | CVS, Subversion, Git | Yes | Yes | |||||
| Perforce P4Merge | No | 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[46], Subversion[47], Visual Source Safe, Rational ClearCase[48] | Yes | Yes | |||
| UCC | Yes | No | Yes | |||||
| Name | ZIP support | FTP support | Version Control browsing | Patch creation | Patch application | Patch preview | Unicode support | XML-aware |
[edit] Aspects
What aspects can be / are compared?
| Filename casing | CRC | Filedate | Daylight saving | Character casing | |
|---|---|---|---|---|---|
| Araxis Merge | Yes | Yes | Yes | Yes | |
| Beyond Compare | Yes | Yes | Yes | Yes | Yes |
| Code Compare | |||||
| Compare++ | Yes | Yes | Yes | ||
| diff | Yes | No | No | No | Optional |
| diff3 | |||||
| Eclipse Compare | |||||
| Ediff | |||||
| ExamDiff Pro | No | Yes | Yes | Yes | Yes |
| fc | No | Optional | |||
| FileMerge | No | No | No | Optional | |
| Guiffy SureMerge | filesystem dependent | Yes | Yes | ||
| IntelliJ IDEA Compare | |||||
| Kompare | Yes | ||||
| Lazarus Diff | |||||
| Meld | |||||
| Perforce P4Merge | N/A | No | No | No | Yes |
| Tkdiff | |||||
| Total Commander Compare | Optional | Optional | |||
| vimdiff | No | No | No | No | Yes |
| WinDiff | No | No | when different | Yes | Optional |
| WinMerge | No | No | Optional | Optional | |
| UCC | No | No | Yes | No | |
| Filename casing | CRC | Filedate | Daylight saving | Character casing |
[edit] See also
[edit] References
- ^ Software.informer
- ^ Araxis Ltd
- ^ araxis-merge.software.informer.com
- ^ Scooter Software
- ^ beyond-compare.software.informer.com
- ^ devart-codecompare.software.informer.com
- ^ Coode Software
- ^ Coodesoft trial
- ^ Compare++ Operating system information
- ^ Brattoo Propaganda Software
- ^ Michael Kifer
- ^ PrestoSoft
- ^ ExamDiff Trial
- ^ examdiff-pro.software.informer.com
- ^ Microsoft
- ^ Guiffy Software
- ^ JetBrains
- ^ jedit.org
- ^ Otto Bruggeman
- ^ Stephen Kennedy
- ^ Meld/Windows
- ^ Perforce Free License
- ^ tkdiff
- ^ Christian Ghisler
- ^ Microsoft
- ^ Dean Grimm
- ^ winmerge.software.informer.com
- ^ Schneider Soft
- ^ USC CSSE
- ^ USC-CSSE Limited Public License
- ^ Compare logical sections (class, methods)
- ^ Ediff
- ^ Examdiff
- ^ Compare logical sections (class, methods)
- ^ Araxis Merge's Perforce File System Plugin
- ^ Subversion Araxis Merge's File System Plugin
- ^ Araxis Merge's Visual SourceSafe File System Plugin
- ^ Araxis Merge's AllChange File System Plugin
- ^ exact support depends on operating system, windows or OSX
- ^ Merge doesn't implement any infoset-level XML diff, but it can reformat XML (and HTML) files to make comparisons easier. This reformatting is purely visual and doesn't alter the content of the files [1].
- ^ Using Beyond Compare with Version Control Systems
- ^ gnu.org Support-for-Version-Control
- ^ through a plug-in
- ^ through a plug-in
- ^ UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats
- ^ "tortoisehg / stable / wiki / FAQ —". Bitbucket.org. http://bitbucket.org/tortoisehg/stable/wiki/FAQ#how-can-i-use-winmerge-as-my-visual-diff-tool. Retrieved 2010-07-06.
- ^ "Using WinMerge with other tools - WinMerge 2.12 Manual". Winmerge.org. http://winmerge.org/docs/manual/VersionControl.html. Retrieved 2010-07-06.
- ^ "About". WinMerge. http://winmerge.org/about/. Retrieved 2010-07-06.