Dec
21
Из-под какой бы системы мне не приходилось возиться с кодом, рано или поздно становится чересчур накладно сравнивать разные версии исходников. Здесь указаны легкие бесплатные утилитки для поиска различий в файлах под Linux, Windows и Mac. Общий формат запуска – <diff-tool> file1 file2.
Под Windows с задачей сравнения содержимого файлов (да и каталогов, что порой не бесполезно) прекрасно справляется – WinMerge. Легкая. Не завязана ни на какие IDE. Писана на Qt и кроссплатформенна – должна запускаться и на никсах. Кроме файлов умеет сравнивать и содержимое директорий (в том числе на основе масок-регэкспов). Можно навешать дополнительных плагинов.
WinMerge – кросс-платформенная утилита для сравнения файлов и не только
Mac – opendiff. Представляет собой отдельный компонент XCode. Вполне себе запускается standalone из командной строчки. Различия подсвечивает бледно-серым, зато умеет кстати показывать стрелочками что куда добавилось. Может выполнять слияние (ключик -merge). Если кроме сравниваемых файлов, указать после ключа -ancestor общий файл-предок то сравнение будет производиться с ним. Умеет сравнивать папки.
утилита opendiff – бесплатное средство сравнения файлов на системе Mac
Linux – kdiff3. Есть на всех платформах (Windows, Mac, Linux) за счет того что так-же написан на Qt. Умеет сравнивать до трех файлов или директорий. Поддерживает возможность слияние изменений, с поддержкой редактирования для ручного разрешения конфликтов.
Утилита kdiff3 – сравнение двух файлов
UPDATE 18.10.2013
Если в никсах вы работаете в Gnom’е то прекрасный выбор – meld. Интеграция с популярными системами контроля версий (Git, Subversion, и др.), инструменты для слияния – авто-слияние, редактирование с подхватыванием текущих различий “на лету”, подсветка синтаксиса. Есть порты для OS X Windows.
meld diff-tool in action
Ну а на крайняк (если ничего стороннего поставить нельзя) – на помощь приходит неказистый diff из под командной строки (предустановлен на nix-like-системах включая и Маки, и Солярисы). Гибкий. Можно долго и с упоением играться с настройками, чтобы получить возможность отображения различий на основе маски (-F), получать сравнение в привычных двух колонках (ключик –side-by-side) и т.п. Для объемных незнакомых файлов предпочитаю вывод в “контекстном” формате, когда отображаются не только измененные строчки, но и соседние с ними.
Для сравнивания более чем двух файлов может подойти diff3.
Обзор инструментов для визуального сравнения и разрешения конфликтов слияния
Время на прочтение6 мин
Количество просмотров142K
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.
Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Название | Особенности | Платформа |
KDiff3http://kdiff3.sourceforge.net/ [скриншот] |
С этим инструментом скорее всего сталкивались как пользователи git, так и пользователи системы mercurial, тем не менее пару строк не помешает.
Плюсы:
Минусы:
Примечание: устанавливается вместе с TortoiseHg. |
Windows, Mac OS X, Linux |
DiffMergehttp://www.sourcegear.com/diffmerge/index.html [скриншот] |
Плюсы:
Минусы:
|
Windows, Mac OS X, Linux |
WinMerge
http://www.winmerge.org [скриншот] |
Плюсы:
Минусы:
Примечание: этим инструментом я начал пользоваться очень давно (еще до того, как стал использовать mercurial и git) и тот факт, что инструмент слияния является двусторонним в большинстве случаев не доставляет особых неудобств. |
Windows |
Meldhttp://meld.sourceforge.net/ [скриншот] |
Плюсы:
Минусы:
|
Windows, Mac OS X, Linux Инструкция по установке под Windows: https://live.gnome.org/Meld/Windows |
Diffusehttp://diffuse.sourceforge.net/ [скриншот] |
Плюсы:
Минусы:
Примечаие: при слиянии с помощью команды git mergetool через Git Bash под Windows открывается четвертое — «лишнее» окно. |
Windows, Mac OS X, Linux Примечание: при установке под Windows уже включает в себя все зависимости (в отличие от Meld), а именно Python и пакет PyGTK. |
TKDiffhttp://sourceforge.net/projects/tkdiff/ [скриншот] |
Плюсы:
Минусы:
|
Windows, Mac OS X, Linux |
SmartSynchronizehttp://www.syntevo.com/smartsynchronize/index.html [скриншот] |
Плюсы:
Минусы:
Примечание: SmartySynctonize встроен в программу SmartGit — удобный GUI-инструмент для работы с Git (тоже бесплатен для некоммерческого использования). |
Windows, Mac OS X, Linux |
BeyondCompare
http://www.scootersoftware.com/ [скриншот] |
Плюсы:
Минусы:
|
Windows, Linux |
Araxis Mergehttp://www.araxis.com/merge/ [скриншот] |
Плюсы:
Минусы:
Примечание: в комментариях многие расхваливают и советуют этот инструмент, несмотря на высокую стоимость. |
Windows, Mac OS X |
В принципе, все перечисленные инструменты хорошо справляются со своими задачами и данный обзор не тема для спора, т.к. каждый выбирает инструмент по вкусу.
Далее приводятся примеры настроек Git для работы с DiffMerge и WinMerge. По аналогии можно настроить взаимодействие Git с другими инструментами.
Git и DiffMerge
1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл diffmerge следующего содержания:
diff_cmd () {
"c:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe" \
"$LOCAL" "$REMOTE" >/dev/null 2>&1
}
merge_cmd () {
"c:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe" \
--merge --result="$MERGED" "$LOCAL" "$BASE" "$REMOTE" >/dev/null 2>&1
status=$?
}
2) Теперь добавим в файл c:/Users/swipe/.gitconfig
следующие строки:
[diff]
tool = diffmerge
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = "diffmerge"
trustExitCode = true
3) Создадим конфликт и вызовем DiffMerge для его разрешения
git init // инициализируем репозиторий
создадим пустой файл readme.txt
git add . // добавим созданный файл в индекс
git commit -m "empty readme" // зафиксируем изменения
git branch new // создадим новую ветку
git checkout new // переключимся на новую ветку
добавим строку в файл readme.txt
git add . // добавим изменения в индекс
git commit -m "new string" // зафиксируем изменения в новой ветке
git checkout master // переключися на master ветку
добавим изменения в файл readme.txt
git add . // добавим изменения в индекс
git commit -m "master string" // зафиксируем их
git hist --all // посмотрим на дерево
git difftool master new // сравним две ветви
git merge new // сольем изменения в new с веткой master
Выводится сообщение о конфликте слияния, чего мы и добивались.
git mergetool // разрешим этот конфликт
В среднем окне, приведем файл к требуемому состоянию и сохраним изменения.
Конфликт разрешен.
Настройку DiffMegre подсмотрел тут:
http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/
Git и WinMerge
1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл winmerge следующего содержания:
diff_cmd () {
"c:/Program Files (x86)/WinMerge/WinMergeU.exe" \
"$LOCAL" "$REMOTE" >/dev/null 2>&1
}
merge_cmd () {
"c:/Program Files (x86)/WinMerge/WinMergeU.exe" \
"$PWD/$LOCAL" "$PWD/$REMOTE" "$PWD/$MERGED" >/dev/null 2>&1
status=$?
}
Когда Git не может автоматически объединить изменения, происходит конфликт слияния и в конфликтующий файл добавляются маркеры слияния (<<<<<<<, =======, и >>>>>>>). Они необходимы для разрешения конфликта с помощью сторонних инструментов.
Рассмотрим файл readme.txt который образуется в результате выполнения слияния веток master и new в приведенном выше примере:
<<<<<<< HEAD
master str
=======
new str
>>>>>>> new
Мы можем открыть файл конфликтов с помощью программы WinMerge для разрешения конфликта.
После этого откроется средство двухстороннего слияния:
Исходя из описанной логики перепишем команду слияния merge_cmd следующим образом:
merge_cmd () {
"c:/Program Files (x86)/WinMerge/WinMergeU.exe" \
"$MERGED" >/dev/null 2>&1
status=$?
}
По сути, оба приведенных варианта эквивалентны.
2) Отредактируем .gitconfig
[diff]
tool = winmerge
[difftool "winmerge"]
cmd = "winmerge"
[merge]
tool = winmerge
[mergetool "winmerge"]
cmd = "winmerge"
trustExitCode = false
keepBackup = false
последняя строчка отменяет сохранение backup-файлов в директории репозитория.
3) Создадим конфликт при слиянии двух веток (см. пример с использованием DiffMerge).
git difftool master new // сравним две ветви
Для разрешения конфликта при слиянии веток, воспользуемся командой
git mergetool
Отредактируем наш файл. После сохранения изменений, конфликт будет разрешен.
Настройки WinMerge подсмотрел тут:
http://stackoverflow.com/questions/636253/msys-git-merge-tool-command-options-issue
Meld
Being free and open source, Meld is a very popular tool on Windows (it’s also available for Linux). It supports three-way comparing and merging and lets you edit files directly from the comparison view. Apart from diffing files, Meld also supports comparison of folders.
Beyond Compare
The Beyond Compare team makes a fine diff tool for Windows (as well as macOS and Linux, by the way). It goes well beyond (pun intended) diffing simple text and also allows comparing PDF, Excel and image files. The «Pro» version also includes a solid three-way merge.
Araxis Merge
Just like Beyond Compare, Araxis Merge supports more than just text and image files. It also lets you compare office documents (like MS Word, Excel, Powerpoint, or ODF). It comes in standard and professional editions, and for people working on both Windows and macOS, it’s good to know that a single license is valid for both platforms.
KDiff3
Another free and open source tool answers to the name of KDiff3. The project hasn’t seen many updates in recent years (though you may be able to find more recent releases through this page), but it remains a solid diff and merge tool that should satisfy basic needs.
Get the Git Cheat Sheet
Download one of the web’s most popular resources on Git! It’s free!
DeltaWalker
Much like Araxis, the DeltaWalker diff tool also lets you compare office files. However, it goes one step further by letting you compare file archives like ZIP, JAR, and TAR files.
If you’re regularly performing comparisons on a folder basis, it’s good to know that DeltaWalker shines with great performance in this area. DeltaWalker supports Windows, macOS and Linux.
P4Merge
Perforce, the company best known for its enterprise version control platform, also offers a solid diff tool: P4Merge is free of charge and comes with a basic feature set that makes it an interesting option on Windows, macOS and Linux.
Code Compare
Besides offering all the standard diff and merge capabilities, Code Compare comes with some special features like syntax highlighting, semantic code comparison and a VisualStudio integration.
The basic version can be used free of charge, while the Professional Edition delivers the full feature set.
WinMerge
WinMerge is an open-source diff tool with some nice features like folder and image comparison, and three-way file comparison.
Guiffy
Guiffy is a full-featured tool with syntax highlighting, three-way comparisons and merges, and multiple comparison algorithms. It comes in pro and expert versions, and supports Windows, macOS and Linux.
Integrations
Another aspect to watch out for is integrations: before choosing your favorite tool, you should make sure that it plays nicely with the rest of your tool chain. I can already confirm that most of the mentioned tools work seamlessly with Tower, our own Git client.
If you don’t need the power of a dedicated Diff tool application, the integrated diff views in Tower might even be sufficient for you:
See for yourself and try it 30 days for free.
Conclusion
Diff & merge apps are amongst the most underestimated tools. But a good one can be really helpful in a lot of situations. Try one of the above and see for yourself!
Get the Git Cheat Sheet
Download one of the web’s most popular resources on Git! It’s free!
Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).
Meld — графический инструмент для получения различий и слияния двух файлов, двух каталогов. Meld — визуальный инструмент сравнения и объединения файлов и каталогов для Linux. Meld ориентирован, в первую очередь, для разработчиков. Однако он может оказаться полезным любому пользователю, нуждающемуся в хорошем инструменте для сравнения файлов и директорий.
В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др.), и присутствует в их основных репозиториях.
# apt install meld
Meld существует и под Windows, но я не рекомендую его использовать в этой операционной системе.
Бесплатная программа WinMerge позволяет сравнивать не только содержимое файлов, она также сравнивает содержимое целых папок. WinMerge является Open Source инструментом сравнения и слияния для Windows. WinMerge может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме, которые легко понять и обработать.
После установки, открываете пункт меню «Файл» — «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».
В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.
diff — утилита сравнения файлов, выводящая разницу между двумя файлами.
Kompare — отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:
Способ 5. Сравнение файлов в программе Total Commander
В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.
После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор. Вызываем программу для сравнения: «Файлы→Сравнить по содержимому».
Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.
Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».
Запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».
После установки плагина откройте два файла и выбирите меню «Плагины» — «Compare» — «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.
Способ 7. Сравнение файлов с помощью командной строки Windows
Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.
Для вызова командной строки Windows перейдите «Пуск» — «Все программы» — «Стандартные» — «Командная строка» или нажмите клавиш «Windows+R», введите cmd и нажмите клавишу Enter.
В командной строке введите команду:
fc /N путь к первому файлу путь ко второму файлу
Unix утилита comm входит в стандартную поставку всех Unix- дистрибутивов, таких как FreeBSD, GNU/Linux (пакет GNU Coreutils) и другие.
Программа comm используется для построчного сравнения двух текстовых файлов с отсортированными по алфавиту строками, в соответствии с используемой локалью. Для сортировки можно использовать утилиту sort.
При вызове без параметров рассматриваемая утилита будет выводить строки в трех столбцах: первый столбец будет содержать строки, присутствующие лишь в файле 1, второй столбец — строки, присутствующие лишь в файле 2, а третий столбец — строки, присутствующие в обоих файлах. Утилита поддерживает параметры -1, -2 и -3, позволяющие не выводить столбцы под соответствующими номерами. Статус завершения работы утилиты не зависит от результата распределения строк по столбцам; в случае успешного распределения строк утилита завершает работу с нулевым статусом, в случае возникновения любой ошибки — с ненулевым.
Базовый синтаксис команды выглядит следующим образом:
$ comm [параметры] <файл 1> <файл 2>
Параметры запуска: -1 Подавить вывод первой колонки; -2 Подавить вывод второй колонки; -3 Подавить вывод третьей; -i Нечувствительное к регистру сравнение строк.
Примеры запуска утилиты comm для сравнения двух файлов по содержимому:
-
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
-
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
-
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
-
запуск comm с предварительной сортировкой
comm <(sort file1.txt) <(sort file2.txt)
-
В текстовых файлах часто встречаются нежелательные символы, такие как символ возврата каретки, символ конца строки в стиле Windows, символов пробела или табуляции. Самым надежным вариантом было бы отфильтровать все такие нежелательные символы, а поскольку данные являются строго числовыми, это довольно легко сделать, например, с помощью sed (пример вырезания нежелательных символов
sed 's/[^0-9]//g' < input > output
. В итоге получаем такую команду:
comm <(sed 's/[^0-9]//g' file1.txt | sort) <(sed 's/[^0-9]//g' file2.txt | sort)
Помимо локальных программ и утилит, существуют удобные онлайн-сервисы для сравнения файлов:
Система контроля версий Git предоставляет мощные инструменты для сравнения файлов:
git diff file1.txt file2.txt
Эта команда покажет различия между двумя файлами в формате патча. Для более удобного визуального сравнения можно использовать графический интерфейс:
git difftool file1.txt file2.txt
-
Предварительная подготовка: Перед сравнением убедитесь, что файлы имеют одинаковую кодировку и формат переноса строк.
-
Игнорирование пробелов: Многие инструменты позволяют игнорировать различия в пробелах и табуляции, что полезно при сравнении кода.
-
Сравнение больших файлов: Для объемных файлов используйте инструменты с поддержкой построчного сравнения, чтобы снизить нагрузку на систему.
-
Безопасность: При использовании онлайн-сервисов для сравнения конфиденциальных данных убедитесь в их надежности и политике конфиденциальности.
Сравнение файлов по содержимому — важный навык для веб-мастеров, разработчиков и системных администраторов. В этой статье мы рассмотрели самые эффективные способы выполнения этой задачи как в Windows, так и в Linux. От графических инструментов, таких как Meld и WinMerge, до командных утилит вроде diff и comm — каждый метод имеет свои преимущества.
Выбор конкретного инструмента зависит от ваших потребностей, операционной системы и предпочтений в интерфейсе. Графические решения, как правило, более удобны для визуального сравнения и редактирования, в то время как командные утилиты отлично подходят для автоматизации и работы с большими объемами данных.
Регулярная практика использования этих инструментов поможет вам быстро находить различия между файлами, что особенно полезно при отладке кода, сравнении версий документов или проверке целостности данных. Независимо от выбранного метода, владение навыками сравнения файлов значительно повысит вашу продуктивность в работе с цифровым контентом
It can be important to compare different versions of a file. Maybe you want to make sure that a file you burned to disc or stored in a backup is identical to the original, list all changes that someone else made to a file, or compare files after a hacking attack to find out if they have been modified in any way by the hacker.
File comparison tools are one option to do so. These programs provide you with the means to compare one or multiple files quickly which is one advantage that they have over comparing data manually.
Some online services, Dropbox, Google Drive or OneDrive, support file revisions as well and can display differences in file versions, but that requires that you use these services and have an Internet connection at your disposal to do so.
Plus, you’d have upload all files you want to check to the service regularly so that you can compare different versions when the need arises.
We take a look at the best file comparison tools for Windows. As usual, we start with the requirements for these tools which all programs have to meet.
Reviews of each program follow, then the comparison table that compares important metrics and finally a recommendation based on the reviews and features.
Requirements
- The software program needs to be fully compatible with all recent 32-bit and 64-bit versions of the Windows operating system.
- A free version needs to be available.
- The core feature of the program needs to be file comparison. This means that text editors with file comparison modules are not included in the list.
The top list
AptDiff
AptDif is a visual file comparison tool for Windows. It displays a prompt on start that you use to select two files that you want to compare and whether you want to compare textual or binary contents.
Both selected files are displayed in the interface afterwards. The application uses colors that indicate added, deleted or changed contents in either file.
You can switch the layout from vertical to horizontal if you prefer it that way and edit one or both files directly in the program window.
Update: The AptDiv website is no longer available. You can still download the program from third-party download sites like Softpedia.
DiffMerge
DiffMerge does not display a file selection dialog on start. You need to select one of the supported modes, folder diff, file diff or file merge from the file menu to get started.
File diff and merge work similar to other file comparison tools. If you select diff, both files are displayed next to each other. The program uses the color red to highlight differences between the two selected files.
You can edit the files right away in the program, export the differences, or use the merge tool to merge the data.
The folder diff utility on the other hand compares files in the selected folders and highlights which are identical and which differ.
Diffuse
Diffuse has been designed specifically for the comparison of code. It supports a couple dozen programming and scripting languages out of the box and uses syntax highlighting automatically when it recognizes a language.
There does not appear to be an option to change the color coding though and some users may find the way things are displayed too colorful to be useful.
As you can see on the screenshot, there is color everywhere making it difficult to spot the differences at times. The program supports the merging of files and the editing of selected files as well.
ExamDiff
The free version of ExamDiff is available as a portable program and installer. It displays a prompt to pick two files on the system on start and displays them next to each other in the interface afterwards.
Here it highlights all differences using colors to indicate added, deleted and changed lines. A menu at the top enables you to jump to any difference spotted by it directly.
Files can be edited directly in the program window and a Unix diff file can be saved as well using the files menu.
KDiff3
KDiff3 displays a prompt on start that you use to load one, two or three files that you want to compare. The files are displayed next to each other in the interface afterwards and when you scroll, all of them do.
The program uses colors to indicate changes on either side. Plain black on white text indicates identical lines or characters while green, blue or red colors indicate that information are not available in all files.
Besides options to compare files with each other, it is also possible to merge selected information in various ways. It is for instance possible to prioritize information in one file or configure the program to resolve basic differences automatically to save time.
Meld
Meld requires that Python 2 is installed on the system. It ships with it and will install the components it requires unless you uncheck that option during installation.
The software supports two- and three-way file comparisons, folder comparisons, and supports a version control view that you can make use of as well.
It highlights differences between loaded files directly and uses colors to visualize those in its interface. What sets it apart from the majority of comparable solutions is the fact that it visualizes how blocks relate to each other in both files.
Merge supports the merging of files and a variety of other options such as tabs to load multiple comparisons at once.
tkdiff
Tkdiff is a graphical front end to the diff program. You can use it to load two files which it displays next to each other afterwards. Each difference is listed in a small menu at the top left corner which you can use to jump straight to it.
Options are provided to edit files directly in the tkdiff interface and to change how things are displayed in it as well. It is for instance possible to disable the scrollbar synchronization or to mark the current diff.
The program supports the merging of files loaded in its interface as well.
WinMerge
WinMerge has been around for a very long time. The program is available as a portable version or installer for Windows. You can use it to compare two different files that you load into it.
Differences are color coded and options are provided to edit files directly in the program window, or to use the merging tools to merge information from two files.
The software supports a large number of comfortable features such as support for bookmarks, plugins, options to generate reports or change how information are displayed in the interface.
Tip: WinMerge 2011 is an official fork that is in active development.
Comparison Table
Name | Portable | Features | Other |
AptDif | no | Compare as binary or text | |
DiffMerge | yes | Folder Diff, Merging, Export | Linux and Mac versions |
Diffuse | no | N-way file merge | Linux and Mac versions |
ExamDiff | yes | Command line interface | |
Kdiff3 | no | two and three-way comparison | Command line tools, Linux and Mac versions |
Meld | yes | two and three-way comparison, Merging, Folder Diff | Linux and Mac versions, requires Python 2 |
tkdiff | no | Merging | Linux and Mac versions |
WinMerge | yes | Merging, folder diff | Plugin support |
Recommendation
So which file comparison tool is right for you? I cannot answer that but I can give you recommendations instead. The tool that impressed me the most is Meld. While it requires the installation of Python 2, it supports a lot of different features, is available cross-platform, and supports folder diff on top of all that.
Also, and that may be equally important, it is updated frequently. A lighter option to that is Kdiff3 which worked well during tests, and if you require binary comparison of files, you may want to check out Aptdif instead.
Now You: Use another tool to compare files? Feel free to share it with all of us in the comment section below.
Summary
Article Name
The best free file comparison programs for Windows
Description
Looking for a program to compare the contents of files? Check out our list of the best programs for the job for the Windows operating system.
Author
Martin Brinkmann
Publisher
Ghacks Technology News
Logo
Advertisement