Porównanie narzędzi do porównywania plików

W tym artykule porównano narzędzia oprogramowania komputerowego , które służą do porównywania plików różnych typów. Typy plików, do których adresowane są poszczególne aplikacje do porównywania plików, różnią się, ale mogą zawierać tekst, symbole, obrazy, dźwięk lub wideo. Ta kategoria narzędzi programowych jest często nazywana „porównywaniem plików” lub „narzędziem porównywania”, ale w rzeczywistości są to równoważne terminy — gdzie termin „różnica” jest częściej kojarzony z diff narzędziem Unix .

Typowym podstawowym przypadkiem jest porównanie jednego pliku z drugim. Jednak może również obejmować porównania między dwiema populacjami plików, na przykład w przypadku porównywania katalogów lub folderów w ramach zarządzania plikami . Może to na przykład służyć do wykrywania problemów z uszkodzonymi wersjami kopii zapasowych kolekcji plików... lub sprawdzania, czy pakiet plików jest zgodny ze standardami przed opublikowaniem.

Należy pamiętać, że porównania należy przeprowadzać między plikami tego samego typu. Oznacza to, że pliku tekstowego nie można porównać do obrazu zawierającego tekst, chyba że najpierw zostanie wykonany proces optycznego czytnika znaków (OCR) w celu wyodrębnienia tekstu. Podobnie tekstu nie można porównywać ze słowami mówionymi, chyba że słowa mówione zostaną najpierw przepisane na tekst. Ponadto tekstu w jednym języku nie można porównywać z tekstem w innym, chyba że jeden z nich zostanie przetłumaczony na język innego.

Krytyczną kwestią jest to, w jaki sposób dwa porównywane pliki muszą być zasadniczo podobne, a zatem nie mogą radykalnie się różnić. Nawet różne rewizje tego samego dokumentu — jeśli jest wiele zmian spowodowanych dodawaniem, usuwaniem lub przenoszeniem treści — mogą bardzo utrudniać interpretację porównań zmian w plikach. Sugeruje to częste zapisywanie wersji krytycznego dokumentu, aby ułatwić porównywanie plików.

Narzędzie do porównywania plików „diff” jest bardzo ważnym narzędziem oszczędzającym czas i pracę, ponieważ pomaga w wykonywaniu żmudnych porównań. W związku z tym jest to istotna część wymagających procesów porównawczych stosowanych przez osoby prywatne, naukowców, prawników, kryminalistów i innych zawodowych przedsięwzięć — w celu zidentyfikowania czasami trudnych do wykrycia różnic potrzebnych do wykrycia.

Zastosowania te obejmują:

  • Korekty tekstów, planów lub rysunków.
  • Edytuj zmiany w mediach.
  • Pominięcie uznania dla cytatów, cytatów, wyciągów lub przykładów.
  • Plagiat.
  • Zmiana dokumentów prawnych.
  • oszustwo .
  • Fałszerstwo .
  • Fałszerstwo lub „ głębokie fałszerstwo ” w celu podszywania się.
  • Spory dotyczące własności lub kredytu na wspólne wysiłki.
  • Chronologia ewolucji projektu lub wysiłku.
  • Wykryj steganografię (praktykę ukrywania danych na widoku).
  • Odkryj usuwanie znaków wodnych .
  • Celowe zniesławienie .
  • Identyfikacja graffiti , tatuażu lub innego znaku kulturowego z charakterystycznym stylem.
  • Nieumyślne lub przypadkowe uszkodzenie.
  • Zmiany w zdrowiu istot żywych.
  • Ocena ryzyka rozprzestrzeniania się uszkodzeń konstrukcji.
  • Ocena do renowacji.
  • Degradacja spowodowana skutkami narażenia środowiskowego w czasie, w tym naturalna entropia (spadek w czasie):
    • Utlenianie.
    • Ekspozycja na deszcz.
    • Ścieranie z piasku napędzanego wiatrem.
    • Wietrzenie spowodowane zmianami temperatury w środowisku, na przykład spowodowane cyklami zamrażania i rozmrażania.
    • Ulotne (tj. nietrwałe) pigmenty w obrazach lub materiałach drukowanych w wyniku ekspozycji na światło ultrafioletowe.
    • Narażenie na wibracje, takie jak procesy przemysłowe, pochodzi z ruchu kołowego.

Ogólny

Podstawowe informacje ogólne o oprogramowaniu do porównywania plików .

Nazwa Twórca FOSS Bezpłatny Data pierwszego publicznego wydania Rok ostatniej stabilnej wersji Okna Prochowiec Linuks Inne platformy Maksymalny obsługiwany rozmiar pliku
Bez porównania Oprogramowanie skutera NIE; Prawnie zastrzeżony NIE 1996 2023-02-03 (v4.4.5) Tak Tak Tak > 2 GB (64 bity)
Porównaj++ Oprogramowanie Coode NIE; Prawnie zastrzeżony NIE 2010 2016-7-17 (3.0.1.0b) Tak NIE NIE
różnica , różnica3 AT&T Tak; BSD 3-klauzulowe , BSD 4-klauzulowe , CDDL , GPL, zastrzeżone Tak 1974 NIE Tak ( Mac OS X ) Tak przeniesiony na większość platform w ramach SCCS > 2 GB, ale mniej niż 64 bity
Zaćmienie (porównaj) Tak; Licencja publiczna Eclipse Tak 2004-07-21 2016-09-28 (4.6.1 (Neon.1)) Tak Tak Tak Wszystko z Javą
Ediff Michał Kifer Tak; GPL Tak 1994 2.81.4 Tak Tak ( Mac OS X ) Tak Wszystko z Emacsem i diff
ExamDiff Pro PrestoSoft NIE; Prawnie zastrzeżony NIE 1998 2022-06-04 (v 12.0.1.22) Tak ( WinXP i nowsze) NIE NIE
Far Manager (porównaj) Eugeniusz Roshal (oryginał); Grupa FAR Tak; Poprawiona licencja BSD Tak 1996 2022-02-02 (wersja 3.0, kompilacja 5959) Tak NIE NIE Dostępna jest wersja beta far2l, rozwidlenia FAR Manager v2 dla Linuksa, która działa również na systemach OSX/MacOS i BSD.
fc Microsoftu NIE; Prawnie zastrzeżony Tak; Część systemu operacyjnego 1987 Tak (DOS) NIE NIE
FileMerge (aka opendiff) Apple Inc. NIE; Prawnie zastrzeżony Tak; (część narzędzi programistycznych Apple ) 1993 (część NEXTSTEP 3.2) 2014 (v2.8) NIE Tak (Mac OS X) NIE
FreeFileSync Zenju Tak; GPLv3 Tak 2008 2020-12-04 (v11.4) Tak Tak Tak
Guiffy SureMerge Oprogramowanie Guiffy NIE; Prawnie zastrzeżony NIE 2000 2022-09-06 (v12.1) Tak Tak Tak Wszystko z Javą > 2 GB
IntelliJ IDEA (porównaj) JetBrains NIE; Prawnie zastrzeżony NIE 2001 2019-08-20 (2019.2.1) Tak Tak Tak
Wtyczka jEdit JDiff Różny Tak; GPL Tak 1998 2020-09-03 (5.6.0) Tak Tak Tak Wszystko z Javą
Różnice Łazarza Łazarz (oprogramowanie) Tak; GPL Tak 2000 2020-07-11 (2.0.10) Tak Tak Tak FreeBSD
Stopić Stephena Kennedy'ego Tak; GPLv2+ Tak 2002 2020-02-16 (3.20.2) Tak Tak Tak BSD , Solaris
Notepad++ (porównaj) Różny Tak; GPLv3 Tak 2009 2015-01-06 (1.5.6.6) Tak NIE NIE
Wymuś P4Merge Z konieczności NIE; Prawnie zastrzeżony Tak 2019 (2019.1/1815056) Tak Tak Tak Słońce Solaris
Ładna różnica Austina Cheneya Tak; Kompatybilny z MIT Tak 2009 2019-09-02 (101.2.6) Tak ( Internet ) Tak ( Internet ) Tak ( Internet ) Node.js
Tkdiff Tkdiff Tak; GPLv2+ Tak 2003 (lub wcześniej) 2021-03-24 (v5.2.1) Tak ( Tcl ) Tak (Tcl) Tak (Tcl) Wszystko z Tcl
Total Commander (porównaj) Christiana Ghislera NIE; Prawnie zastrzeżony NIE 2020-03-25 (v9.51) Tak NIE NIE
twdiff (Pomocnik TextWrangler Diff) Bare Bones Software, Inc. NIE; Prawnie zastrzeżony Tak; z TextWranglerem 2012 (1.0 (v22)) NIE Tak NIE NIE
vimdiff Brama Moolenaara i in. Tak; Zgodne z GPL Tak 2001 2016-10-03 (v8.0.0022) Tak Tak Tak Wszystko z vimem
Różnica wiatru Microsoftu NIE; Prawnie zastrzeżony Tak; Część platformy SDK 1992 2010-05-14 (v6.1.7716.0) Tak NIE NIE NIE
WinMerge Dean Grimm Tak; GPL Tak 1998 2022-01-27 (v2.16.18) Tak ( Win95 i nowsze) Tak (w winie) Tak (w winie) 2 GB
UKC USC CSSE NIE; Ograniczona licencja publiczna USC-CSSE Tak 2009 2015-12-30 (2015.12) Tak Tak Tak {2.6.9} Słońce Solaris
Nazwa Twórca FOSS Bezpłatny Data pierwszego publicznego wydania Rok ostatniej stabilnej wersji Okna Prochowiec Linuks Inne platformy Maksymalny obsługiwany rozmiar pliku

Porównaj funkcje

Nazwa Pokaż zmiany w linii Porównanie katalogów Porównanie binarne Przeniesione linie Porównanie trójstronne Łączyć Strukturalne porównanie Ręczne porównanie wyrównania Porównaj obraz
Bez porównania Tak Tak Tak Tak Tak (pliki i foldery) Tak (tylko Pro) Tak Tak
Porównaj++ Tak Tak Tak Tak Tak (C/C++, C#, Java, JavaScript, CSS3)
różnica NIE Tak częściowo NIE NIE NIE
różnica3 NIE NIE Tak (nie opcjonalne)
Zaćmienie (porównaj) Tak Nie (tylko przodek) Tak NIE
Ediff Tak Tak Tak Tak Tak
ExamDiff Pro Tak Tak Tak Tak Tak (tylko ExamDiff Pro Master) Tak synchronizacja ręczna
Far Manager (porównaj) Tak (przez wtyczkę) Tak Tak Tak (przez wtyczkę) NIE NIE
fc NIE NIE Tak NIE NIE
FileMerge (aka opendiff) Tak Tak Tak Tak (opcjonalnie przodek) Tak
Guiffy SureMerge Tak Tak Tak Tak Tak Tak Tak
IntelliJ IDEA (porównaj) Tak Tak Tak NIE Tak Tak Tak Tak
Wtyczka jEdit JDiff Tak NIE Tak
Różnice Łazarza
Stopić Tak Tak NIE NIE Tak Tak wyrównanie linii, odłącz przewijanie
Notepad++ (porównaj) Tak NIE NIE Tak NIE NIE NIE
Wymuś P4Merge Tak NIE NIE Tak Tak Tak
Ładna różnica Tak Tak NIE NIE NIE NIE Tak NIE
Tkdiff Tak NIE NIE NIE NIE NIE
Total Commander (porównaj) Tak Tak Tak NIE NIE Tak NIE porównanie ponownej synchronizacji NIE
vimdiff Tak Tak (przez wtyczkę DirDiff) Tak Tak
Różnica wiatru Tak Tak Tak Tak NIE NIE
WinMerge Tak Tak Tak Tak (przez Opcje) Tak Tak Tak Tak
UKC Tak Tak Tak Tak NIE Tak
Nazwa Pokaż zmiany w linii Porównanie katalogów Porównanie binarne Przeniesione linie Porównanie trójstronne Łączyć Strukturalne porównanie Ręczne porównanie wyrównania Porównaj obraz

Funkcje API / edytora

Nazwa GUI CLI Skrypty Poziomy pionowy Podświetlanie składni Raporty
Bez porównania Tak Tak Tak Obydwa Tak XML, HTML, CSV, tekst, łatka Unix
Porównaj++ Tak Tak Obydwa Tak HTML, tekst (połączony lub obok siebie)
różnica NIE Tak Poziomy Tak potok do wyróżnienia różnicowego
różnica3 NIE Tak Poziomy
Zaćmienie (porównaj) Tak Pionowy Tak
Ediff Tak Tak umykać Obydwa Tak
ExamDiff Pro Tak Tak opcjonalny Tak UNIX, HTML, Diff
Far Manager (porównaj) Tak Tak Tak Tak NIE
fc NIE Tak Poziomy
FileMerge (aka opendiff) Tak Tak Pionowy Tak NIE
Guiffy SureMerge Tak Tak API Javy Obydwa Tak HTML, tekst, poprawka Unix
IntelliJ IDEA (porównaj) Tak Tak Pionowy Tak
Wtyczka jEdit JDiff Tak Obydwa Tak
Różnice Łazarza Tak Tak
Stopić Tak NIE Tak NIE
Notepad++ (porównaj) Tak Tak Obydwa Tak NIE
Wymuś P4Merge Tak Tak Pionowy Tak NIE
Ładna różnica Tak Tak JavaScript Obydwa Tak XHTML
Tkdiff Tak
Total Commander (porównaj) Tak Obydwa NIE NIE
vimdiff Tak Tak skrypt vima Obydwa Tak HTML
Różnica wiatru Tak Tak Poziomy NIE Tekst
WinMerge Tak Tak Obydwa Tak CSV, rozdzielany znakami tabulacji, HTML, XML
UKC Tak Tak Pionowy Tak Tekst, CSV
Nazwa GUI CLI Skrypty Poziomy pionowy Podświetlanie składni Raporty

Inne funkcje

Niektóre inne funkcje, które nie zmieściły się w poprzedniej tabeli

Nazwa Wsparcie ZIP Obsługa FTP Obsługa SFTP Przeglądanie kontroli wersji Tworzenie poprawek Aplikacja poprawki Podgląd poprawki Obsługa Unicode Obsługa XML
Bez porównania Tak Tak Tak SVN Tak Tak Tak Tak
Porównaj++ SVN, CVS, Git, Microsoft TFS, Perforce, VSS przy użyciu wiersza poleceń Tak
różnica NIE NIE NIE Tak Tak z patchem Tak z patchem NIE NIE
różnica3 NIE NIE NIE
Zaćmienie (porównaj) Tak CVS , Subversion , Git , Mercurial , Baazar Tak
Ediff Tak Tak RCS, CVS, SVN, Mercurial, git (wszystko obsługiwane przez tryb VC Emacsa) Tak Tak Tak
ExamDiff Pro Tak Tak tylko normalna różnica Tak
Far Manager (porównaj) NIE NIE NIE NIE NIE NIE Tak NIE
fc NIE NIE NIE
FileMerge (aka opendiff) NIE obsługiwane przez system operacyjny NIE NIE NIE
Guiffy SureMerge Tak Tak Tak Tak Tak
IntelliJ IDEA (porównaj) Tak Tak Tak Tak Tak Tak Tak Tak
Wtyczka jEdit JDiff Tak Tak Tak Tak Tak Tak Tak
Różnice Łazarza
Stopić CVS , Subversion , Git , Mercurial , Baazar Tak Tak
Notepad++ (porównaj) NIE Tak Git, Subversion (porównaj z bazą) NIE NIE NIE Tak NIE
Wymuś P4Merge NIE Tak
Ładna różnica NIE NIE NIE NIE NIE NIE NIE Tak Tak
Tkdiff NIE NIE CVS, RCS, Subversion NIE NIE NIE NIE NIE
Total Commander (porównaj) Tak Tak Tak NIE NIE NIE NIE Tak NIE
vimdiff Tak Tak Tak Tak
Różnica wiatru NIE NIE NIE NIE
WinMerge Tak NIE Mercurial, Subversion, Visual Source Safe, Rational ClearCase Tak Tak
UKC Tak NIE Tak
Nazwa Wsparcie ZIP Obsługa FTP Obsługa SFTP Przeglądanie kontroli wersji Tworzenie poprawek Aplikacja poprawki Podgląd poprawki Obsługa Unicode Obsługa XML

Aspekty

Jakie aspekty można/są porównywać?

Nazwa Wielkość liter nazwy pliku CRC Data pliku Sezonowa zmiana czasu Obudowa postaci
Bez porównania Tak Tak Tak Tak Tak
Porównaj++ Tak Tak Tak Tak
różnica Tak NIE NIE NIE Opcjonalny
diff3
Eclipse (porównaj)
Ediff
ExamDiff Pro NIE Tak Tak Tak Tak
Far Manager (porównaj) Tak NIE Tak NIE Tak
fc NIE Opcjonalny
FileMerge (aka opendiff) NIE NIE NIE Opcjonalny
Guiffy SureMerge zależne od systemu plików Tak Tak
IntelliJ IDEA (porównaj)
jEdit JDiff plugin
Lazarus Diff
Meld
Notepad++ (porównaj) NIE NIE NIE Tak
Wymuś P4Merge NIE NIE NIE Tak
Ładna różnica NIE NIE NIE Opcjonalny
Tkdiff
Total Commander (porównaj) Opcjonalny Tak (tylko podczas synchronizacji) Opcjonalny
vimdiff NIE NIE NIE NIE Tak
Różnica wiatru NIE NIE kiedy inaczej Tak Opcjonalny
WinMerge NIE NIE Opcjonalny Opcjonalny
UKC NIE NIE Tak NIE
Nazwa Wielkość liter nazwy pliku CRC Data pliku Sezonowa zmiana czasu Obudowa postaci

Efekty stref czasowych

systemami plików Microsoft FAT i NTFS , sygnatura czasowa wyświetlana przez ten sam plik może ulec zmianie, tak że identyczne pliki z różnymi historiami przechowywania zostaną uznane za różne przez moduł porównujący, który wymaga zgodności sygnatur czasowych. Różnica to dokładna liczba kwadransów do 95 (te same minuty modulo 15 i sekundy), jeśli plik był transportowany między strefami; istnieje również godzinna różnica w obrębie jednej strefy spowodowana przejściem między czasem standardowym a czasem letnim (DST). Niektóre, ale nie wszystkie, oprogramowanie do porównywania i synchronizacji plików można skonfigurować tak, aby ignorowało różnice w czasie letnim i strefach czasowych. Oprogramowanie, o którym wiadomo, że ma kompensację czasu letniego, jest zaznaczone w Aspekty .

Zobacz też