释义 |
- General
- Compare features
- API / editor features
- Other features
- Aspects
- Timezone effects
- See also
- References
{{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. GeneralBasic 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 |
---|
Beyond Compare | Scooter Software[1] | {{no}}; Proprietary | {{no}} | 1996 | 2019-1-15 (v4.2.9) | {{Yes}} | {{Yes}} | {{Yes}} | > 2GB (64 bits) |
---|
Compare++ | Coode Software[2] | {{no}}; Proprietary | {{no}} | 2010 | 2014-11-12 (2.21.2.0) | {{Yes}}[3] | {{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 |
---|
Eclipse (compare) | {{yes}}; Eclipse Public License | {{yes}} | 2004-07-21 | 2016-09-28 (4.6.1 (Neon.1)) | {{Yes}} | {{Yes}} | {{Yes}} | Anything with Java |
---|
Ediff | Michael Kifer[4] | {{yes}}; GPL | {{yes}} | 1994 | 2.81.4 | {{Yes}}[5] | {{Yes}} (Mac OS X) | {{Yes}} | Anything with Emacs and diff |
---|
ExamDiff Pro | PrestoSoft[6] | {{no}}; Proprietary | {{no}} | 1998 | 2017-09-23 (v 9.0.1.6) | {{Yes}} (Win98 and up) | {{No}} | {{No}} |
---|
Far Manager (compare) | Eugene Roshal (original); FAR Group | {{yes}}; Revised BSD license | {{yes}} | 1996 | 2017-08-07 (v3.0 build 5000) | {{Yes}} | {{No}} | {{No}} |
---|
fc | Microsoft[7] | {{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[8]) | 2014 (v2.8) | {{No}} | {{Yes}} (Mac OS X) | {{No}} |
---|
Guiffy SureMerge | Guiffy Software[9] | {{no}}; Proprietary | {{no}} | 2000 | 2018-10-02 (v11.9) | {{Yes}} | {{Yes}} | {{Yes}} | Anything with Java | > 2GB |
---|
IntelliJ IDEA (compare) | JetBrains[10] | {{no}}; Proprietary | {{no}} | 2001 | 2016-11-22 (2016.3) | {{Yes}} | {{Yes}} | {{Yes}} |
---|
jEdit JDiff plugin | Various[11] | {{yes}}; GPL | {{yes}} | 1998 | 2012-10-04 (3.3.0) | {{Yes}} | {{Yes}} | {{Yes}} | Anything with Java |
---|
Kompare | Otto Bruggeman[12] | {{yes}}; GPLv2+ | {{yes}} | {{Yes}} [13] | {{Yes}} (Mac OS X) | {{Yes}} |
---|
Lazarus Diff | Lazarus (software) | {{yes}}; GPL | {{yes}} | 2000 | 2016-11-13 (1.6.2) | {{Yes}} | {{Yes}} | {{Yes}} | FreeBSD |
---|
Meld | Stephen Kennedy[14] | {{yes}}; GPLv2+ | {{yes}} | 2002 | 2018-06-19 (v3.18.2) | {{Yes}}[15] | {{Yes}} | {{Yes}} | BSD, Solaris |
---|
Notepad++ (compare) | Various | {{yes}}; GPLv3 | {{yes}} | 2009 | 2015-01-06 (1.5.6.6) | {{Yes}}[16] | {{No}} | {{No}} |
---|
Perforce P4Merge | Perforce | {{no}}; Proprietary | {{yes}} | 2015 (2015.2) | {{Yes}} | {{Yes}} | {{Yes}} | Sun Solaris |
---|
Pretty Diff | Austin Cheney[17] | {{yes}}; MIT-compatible | {{yes}} | 2009 | 2016-11-11 (2.1.14) | {{Yes}} (Web) | {{Yes}} (Web) | {{Yes}} (Web) | Node.js |
---|
Tkdiff | Tkdiff[18] | {{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[19] | {{no}}; Proprietary | {{no}} | 2016-11-23 (v9.00) | {{Yes}} | {{No}} | {{No}} |
---|
twdiff (TextWrangler Diff Helper) | Bare Bones Software, Inc.[20] | {{no}}; Proprietary | {{yes}}; with TextWrangler | 2012 (1.0 (v22)) | {{No}} | {{Yes}} | {{No}} | {{No}} |
---|
vimdiff | Bram Moolenaar et al. | {{yes}}; GPL-compatible [21] | {{yes}} | 2001 | 2016-10-03 (v8.0.0022) | {{Yes}} | {{Yes}} | {{Yes}} | Anything with vim |
---|
WinDiff | Microsoft[22] | {{no}}; Proprietary | {{yes}}; Part of Platform SDK | 1992 | 2002-08-16 14:36:14 (v5.00.2195.6601) | {{Yes}} | {{No}} | {{No}} | {{No}} |
---|
WinMerge | Dean Grimm[23] | {{yes}}; GPL | {{yes}} | 1998 | 2018-11-22 (v2.18.0) | {{Yes}} (Win95 and up) | {{Yes}} (in wine[24]) | {{Yes}} (in wine[24]) | 2 GB |
---|
UCC | USC CSSE[25] | {{no}}; USC-CSSE Limited Public License | {{yes}} | 2009 | 2015-12-30 (2015.12) | {{Yes}} | {{Yes}} | {{Yes}} {2.6.9} | Sun Solaris |
---|
Name | Creator | FOSS | Free | First public release date | Year of latest stable version | Windows | Macintosh | Linux | Other platforms | Max Supported File Size |
---|
Compare featuresName | Show in-line changes | Directory comparison | Binary comparison | Moved lines | 3-way comparison | Merge | Structured comparison[26] | Manual compare alignment | Image Compare |
---|
Beyond Compare | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} (Files and Folders) | {{Yes}} (Pro only) | {{Yes}} | {{Yes}} |
---|
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) |
---|
Eclipse (compare) | {{Yes}} | {{No}} (only ancestor) | {{Yes}} | {{No}} |
---|
Ediff | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
ExamDiff Pro | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}}[27] | {{Yes}} (ExamDiff Pro Master only)[28] | {{Yes}} | manual synchronization}} |
---|
Far Manager (compare) | {{Yes}} (Via plugin) [29] | {{Yes}} | {{Yes}} | {{Yes}} (Via plugin) [29] | {{No}} | {{No}} |
---|
fc | {{No}} | {{No}} | {{Yes}} | {{No}} | {{No}} |
---|
FileMerge (aka opendiff) | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} (optional ancestor) | {{Yes}} |
---|
Guiffy SureMerge | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
IntelliJ IDEA (compare) | {{Yes}} | {{Yes}} | {{Yes}} |
---|
jEdit JDiff plugin | {{Yes}} | {{No}} | {{Yes}} |
---|
Kompare | {{Yes}} | {{No}} | {{No}} | {{Yes}} |
---|
Lazarus Diff |
---|
Meld | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | line alignment, unlink scroll}} |
---|
Notepad++ (compare) | {{Yes}} | {{No}} | {{No}} | {{Yes}} | {{No}} | {{No}} | {{No}} |
---|
Perforce P4Merge | {{Yes}} | {{No}} | {{No}} | {{Yes}} | {{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}} | {{No}} | {{Yes}} | {{No}} | resync comparison}} | {{No}} |
---|
vimdiff | {{Yes}} | {{Yes}} (via DirDiff plugin) | {{Yes}} | {{Yes}} |
---|
WinDiff | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{No}} |
---|
WinMerge | {{Yes}} | {{Yes}} | {{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[26] | Manual compare alignment | Image compare |
---|
API / editor featuresName | GUI | CLI | Scripting | Horizontal / Vertical | Syntax Highlighting | Reports |
---|
Beyond Compare | {{Yes}} | {{Yes}} | {{Yes}} | Both}} | {{Yes}} | XML, HTML, CSV, Text, Unix Patch}} |
---|
Compare++ | {{Yes}} | {{Yes}} | Both}} | {{Yes}} | HTML, Text(combined or side-by-side) }} |
---|
diff | {{No}} | {{Yes}} | Horizontal}} | {{yes}} pipe to diff-highlight[30] |
---|
diff3 | {{No}} | {{Yes}} | Horizontal}} |
---|
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 (aka opendiff) | {{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}} |
---|
Kompare | {{Yes}} | Vertical}} | {{No}} |
---|
Lazarus Diff | {{Yes}} | {{Yes}} |
---|
Meld | {{Yes}} | {{No}} | 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}} | Both}} | {{No}} | {{No}} |
---|
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 featuresSome 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 |
---|
Beyond Compare | {{Yes}} | {{Yes}} | {{Yes}} | SVN}} | {{Yes}} | {{Yes}} | {{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}} |
---|
Eclipse (compare) | {{Yes}} CVS, Subversion, Git, Mercurial, Baazar | {{Yes}} |
---|
Ediff | {{Yes}} | {{Yes}} | RCS, CVS, SVN, Mercurial, git (anything supported by Emacs' VC-mode)}}[31] | {{Yes}} | {{Yes}} | {{Yes}} |
---|
ExamDiff Pro | {{Yes}}[32] | {{Yes}}[33] | normal diff only}} | {{Yes}} |
---|
Far Manager (compare) | {{No}} | {{No}} | {{No}} | {{No}} | {{No}} | {{No}} | {{Yes}} | {{No}} |
---|
fc | {{No}} | {{No}} | {{No}} |
---|
FileMerge (aka opendiff) | {{No}} | supported by OS}} | {{No}} | {{No}} | {{No}} |
---|
Guiffy SureMerge | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}}[34] |
---|
IntelliJ IDEA (compare) | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
jEdit JDiff plugin | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
Kompare | {{Yes}} |
---|
Lazarus Diff |
---|
Meld | CVS, Subversion, Git, Mercurial, Baazar}} | {{Yes}} | {{Yes}} |
---|
Notepad++ (compare) | {{No}} | Yes[35]}} | 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}} | {{Yes}} | {{No}} | {{No}} | {{No}} | {{No}} | {{Yes}} | {{No}} |
---|
vimdiff | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
WinDiff | {{No}} | {{No}} | {{No}} | {{No}} |
---|
WinMerge | {{Yes}} | {{No}} | Mercurial,[36] Subversion,[37] Visual Source Safe, Rational ClearCase[38]}} | {{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 |
---|
AspectsWhat aspects can be / are compared? Name | Filename casing | CRC | Filedate | Daylight saving | Character casing |
---|
Beyond Compare | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
Compare++ | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
diff | {{Yes}} | {{No}} | {{No}} | {{No}} | {{optional}} |
---|
diff3 |
---|
Eclipse (compare) |
---|
Ediff |
---|
ExamDiff Pro | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |
---|
Far Manager (compare) | {{Yes}} | {{No}} | {{Yes}} | {{No}} | {{Yes}} |
---|
fc | {{No}} | {{optional}} |
---|
FileMerge (aka opendiff) | {{No}} | {{No}} | {{No}} | {{optional}} |
---|
Guiffy SureMerge | filesystem dependent}} | {{Yes}} | {{Yes}} |
---|
IntelliJ IDEA (compare) |
---|
jEdit JDiff plugin |
---|
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 effectsWhen 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 standard time 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.[39] Software known to have daylight-saving compensation is marked in the Aspects table. See also- File comparison
- File synchronization
- Comparison of file synchronization software
- List of disk cloning software
- Comparison of disk cloning software
- Comparison of hex editors
References1. ^Scooter Software 2. ^Coode Software 3. ^Compare++ Operating system information 4. ^Michael Kifer 5. ^Ediff requires a diff utility to function. As of December 2017, diff is not bundled with Emacs or Windows, so use of Ediff in a Windows environment requires installation of both Emacs and a diff implementation like GNU diff. 6. ^PrestoSoft 7. ^Microsoft 8. ^{{cite journal|author1=NeXT Product Marketing|title=What's New in Release 3.2?|journal=NEXTSTEP In Focus|date=Fall 1993|volume=3|issue=4|url=http://cdn.preterhuman.net/texts/computing/nextstep-openstep/NEXTSTEP_In_Focus/InFocusFall1993/1489_Whats_New_in_Release_3.2.rtf|accessdate=18 July 2014|publisher=NeXT Computer, Inc.}} 9. ^[https://www.guiffy.com/ Guiffy Software] 10. ^JetBrains 11. ^jedit.org 12. ^Otto Bruggeman 13. ^Installing Kompare in Windows 14. ^Stephen Kennedy 15. ^[https://wiki.gnome.org/Apps/Meld/Windows Meld/Windows] 16. ^[https://bitbucket.org/uph0/compare Notepad++ compare plugin] 17. ^Pretty Diff 18. ^tkdiff 19. ^Christian Ghisler 20. ^Bare Bones Software, Inc. 21. ^vim license 22. ^Microsoft 23. ^Dean Grimm 24. ^1 [https://appdb.winehq.org/objectManager.php?sClass=application&iId=1755 WinMerge in Wine] 25. ^USC CSSE 26. ^1 Compare logical sections (class, methods) 27. ^Examdiff 28. ^Examdiff 29. ^1 Visual Rename 30. ^https://github.com/git/git/tree/master/contrib/diff-highlight 31. ^[https://www.gnu.org/software/emacs/manual/html_node/ediff/Support-for-Version-Control.html gnu.org Support-for-Version-Control] 32. ^through a plug-in 33. ^through a plug-in 34. ^UTF8, UTF16, MBCS, SJIS, over 150 file encoding and character set formats 35. ^[https://sourceforge.net/projects/nppftp Notepad++ FTP plugin] 36. ^{{Cite web|url=http://bitbucket.org/tortoisehg/stable/wiki/FAQ#how-can-i-use-winmerge-as-my-visual-diff-tool |title=tortoisehg / stable / wiki / FAQ — |publisher=Bitbucket.org |date= |accessdate=2010-07-06}} 37. ^{{Cite web|url=http://winmerge.org/docs/manual/VersionControl.html |title=Using WinMerge with other tools – WinMerge 2.12 Manual |publisher=Winmerge.org |date= |accessdate=2010-07-06}} 38. ^{{Cite web|url=http://winmerge.org/about/ |title=About |publisher=WinMerge |date= |accessdate=2010-07-06}} 39. ^Example: "Beyond Compare" help describes a user setting "timezone differences – ignores timestamp differences that are multiples of an exact hour."
{{DEFAULTSORT:Comparison Of File Comparison Tools}} 2 : File comparison tools|Software comparisons |