Программа для сравнения двух текстовых файлов. Программа для сравнения текстовых файлов Compare Suite — быстрый и полный анализ различий между текстами

На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации

об инструментах визуального сравнения и разрешения конфликтов слияния.


Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос
выбора инструмента
визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.

НазваниеОсобенностиПлатформа

KDiff3

https://kdiff3.sourceforge.net/
[

]

С этим инструментом скорее всего сталкивались как пользователи git, так и пользователи системы mercurial, тем не менее пару строк не помешает.
Плюсы

:

  • бесплатен;
  • поддерживает трехстороннее слияние;
  • умеет сравнивать директории;
  • с различными кодировками работает нормально;

Минусы
:

  • без дополнений не подсвечивает синтаксис.

Примечание: устанавливается вместе с TortoiseHg.

Windows, Mac OS X, Linux

DiffMerge

https://www.sourcegear.com/diffmerge/index.html
[

]

Плюсы
:
  • бесплатен;
  • поддерживает трехстороннее слияние;
  • умеет сравнивать директории.

Минусы
:

  • бывают проблемы при работе с кириллицей. Думаю, со временем, исправят.
  • DiffMerge по умолчанию, не поддерживает подсветку синтаксиса языков программирования.
Windows, Mac OS X, Linux

WinMerge

https://www.winmerge.org https://ru.wikipedia.org/wiki/Winmerge
[

]

Плюсы
:
  • Open Source;
  • никаких проблем с кодировками;
  • подсветка синтаксиса без лишних телодвижений;
  • сравнение директорий.

Минусы
:

  • инструмент слияния является двусторонним, что может создавать неудобства в некоторых случаях;
  • Windows only.

Примечание
: этим инструментом я начал пользоваться очень давно (еще до того, как стал использовать mercurial и git) и тот факт, что инструмент слияния является двусторонним в большинстве случаев не доставляет особых неудобств.

Windows

Meld

https://meld.sourceforge.net/
[

]

Плюсы
:
  • GPL v2;
  • двустороннее и трехстороннее слияние файлов;
  • сравнение директорий;
  • подсветка синтаксиса (при установленном GtkSourceView).

Минусы
:

  • для установки под Windows требуется установить Python, GTK+, Glib, GtkSourceView, что не каждому понравиться.
Windows, Mac OS X, Linux Инструкция по установке под Windows: https://live.gnome.org/Meld/Windows

Сравниваем файлы в Total Commander

Для выполнения операций сравнения нескольких файлов по средствам данной программы нужно в одной из панелей выбрать первый файл для сравнения, а во второй панели — выбрать второй.

Потом открыть пункт меню «файл» и перейти в пункт «сравнить по содержимому».

Должно отобразиться окно разбитое на две колонки. В верхней части колонок расположена срока с функцией выбора файла. Выбрав файл для сравнения нужно будет нажать кнопку «сравнить».

В двух колонках будет отображено содержимое сравниваемых файлов. Отличия найденные в файлах будут подсвечиваться. Для осуществления редактирования содержимого файла необходимо нажать кнопку «редактировать».

Diffuse

https://diffuse.sourceforge.net/
[

]

Плюсы
:
  • GPL;
  • поддержка 2-way, 3-way и n-way (произвольное количество файлов) слияния;
  • подсветка синтаксиса;
  • отлично работает с UTF-8;
  • неограниченная глубина отмен (Undo);
  • удобная навигация по коду.

Минусы
:

  • разве что, невозможность сравнивать директории.

Примечаие
: при слиянии с помощью команды git mergetool через Git Bash под Windows открывается четвертое — «лишнее» окно. Убрать можно, подправив конфиг c:/Git/libexec/git-core/mergetools/diffuse

Windows, Mac OS X, Linux Примечание
: при установке под Windows уже включает в себя все зависимости (в отличие от Meld), а именно Python и пакет PyGTK.

Установка программы

После скачивания установщика программы, запустите его (файл «HashTab Setup.exe»), кликнув по нему мышкой. Откроется окно установщика программы (рис. 1):

Рис. 1. Установка программы.

Нажмите кнопку «Next»>. Откроется следующее окно Лицензионного Соглашения (рис. 2):

Рис. 2. Лицензионное соглашение.

Нажмите кнопку «I Agree», затем кнопку «Install», чтобы начать установку.

После завершения установки нажмите кнопку «Finish».

TKDiff

https://sourceforge.net/projects/tkdiff/
[

]

Плюсы
:
  • GPLv2;
  • можно добавлять закладки для различий;
  • с кодировками работает нормально;

Минусы
:

  • интерфейс менее удобен и выглядит очень бедно (см. скриншот), чем у других продуктов.
  • нет подсветки синтаксиса;
  • не умеет сравнивать директории.
Windows, Mac OS X, Linux

SmartSynchronize

https://www.syntevo.com/smartsynchronize/index.html
[

]

Плюсы
:
  • трехстороннее слияние;
  • нет проблем с кодировками;
  • помимо файлов, может сравнивать директории.

Минусы
:

  • для коммерческого использования требуется лицензия;
  • подсветка синтаксиса для языков программирования по умолчанию не предусмотрена. Не исключено, что можно как-то сделать.

Примечание
: SmartySynctonize встроен в программу SmartGit — удобный GUI-инструмент для работы с Git (тоже бесплатен для некоммерческого использования).

Windows, Mac OS X, Linux

BeyondCompare

https://www.scootersoftware.com/ https://en.wikipedia.org/wiki/Beyond_Compare
[

]

Плюсы
:
  • трехстороннее слияние;
  • может сравнивать файлы, директории, удаленные директории, архивы, а также MP3-файлы, изображения и др. Но последние пункты — это в принципе не нужный функционал.

Минусы
:

  • ShareWare;
  • нет версии под Mac.
Windows, Linux

Сравнивайте PDF файлы онлайн

Если вы не хотите устанавливать какое-либо ПО или вам нужен онлайн инструмент для быстрого сравнения PDF файлов, тогда подходящая онлайн утилита в PDF24 это то, что вам нужно. PDF24 предлагает вам различные бесплатные онлайн PDF утилиты, с которыми вы можете легко решать различные PDF проблемы, и с одной из этих утилит, вы можете сравнивать PDF файлы. Вот как это работает:

  • Просто откройте приложение по ссылке ниже.
  • Перетащите ваши PDF файлы в соответствующую область.
  • Файлы загружены и отображены.
  • Начните сравнение двух файлов.
  • После анализа, результаты и отличия будут отображены.

Существует множество программ для сравнения текстовых файлов типа TXT, DOC и т.п. Такие программы могут легко сравнить два файла и отобразить в отчете все различия: что было удалено, что было добавлено, а что не было отредактировано и осталось без изменения.

Программами для сравнения файлов часто пользуются программисты, составители различных инструкций, ТЗ и др. документации, которым приходится периодически сравнивать между собой различные версии одного документа или файла.

Но иногда может возникнуть необходимость сравнить PDF-файлы и определить различия, имеющиеся между ними. Вот тут у многих могут возникнуть трудности. Формат файлов Adobe Acrobat — PDF — весьма специфичен и обычные программы сравнения текста с ним уже не могут справиться.

Самый реальный, но не очень простой вариант сравнения PDF-файлов долгое время был следующим: PDF-документы распознавались с помощью программы типа Fine Reader, преобразовывались в текстовые файлы, например MS Word (doc), и уже эти текстовые файлы сравнивались обычной программой сравнения типа CompareIt! или Ultra Compare. Понятно каждому, что такой метод весьма не удобен и трудоемок, к тому же необходимо иметь две платные программы (для распознавания и для сравнения).

Мы ждали этого долго, и вот, наконец-то фирма Adobe сжалилась над своими клиентами и реализовала механизм сравнения PDF-файлов в свою программу Adobe Acrobat Professional. На счет 7-ой и 8-ой версий нет информации, но как минимум Acrobat PRO 9 и тем более Acrobat PRO 10 и Acrobat PRO 11 имеют встроенную функцию сравнения файлов. Если честно, этого инструмента очень не хватало несколько лет назад, когда было очень нужно выполнять сравнение объемных PDF-файлов, периодически изменяемых их поставщиком.

Araxis Merge

https://www.araxis.com/merge/
[

]

Плюсы
:
  • трехстороннее слияние;
  • нет проблем с кодировками;
  • подсвечивает синтаксис;
  • помимо файлов, может сравнивать директории и синхронизировать их;
  • хорошо работает на сравнении больших файлов (гигабайты) и больших директорий;
  • генерация отчётов по результатам сравнения.
  • Ribbon-интерфейс (если это можно назвать плюсом).

Минусы
:

  • ShareWare;
  • нет версии под Linux.

Примечание
: в комментариях многие расхваливают и советуют этот инструмент, несмотря на высокую стоимость.

Windows, Mac OS X

В принципе, все перечисленные инструменты хорошо справляются со своими задачами и данный обзор не тема для спора
, т.к. каждый выбирает инструмент по вкусу. Далее приводятся примеры настроек Git для работы с DiffMerge и WinMerge. По аналогии можно настроить взаимодействие Git с другими инструментами.

Сравнение PDF файлов и отображение отличий

  • Защищенная с помощью SSL передача файлов
  • Автоматическое удаление файла с сервера через один час
  • Сервера расположены в Германии
  • Защищенная с помощью SSL передача файлов
  • Автоматическое удаление файла с сервера через один час
  • Сервера расположены в Германии

Выберите два файла, которые хотите сравнить и приступите к сравнению. Через несколько секунд вы увидите разницу между этими файлами.
Ваши файлы необязательно должны быть PDF. Эта утилита поддерживает все файлы, которые наша система может конвертировать в PDF. Преобразование в PDF происходит автоматически.

Мы сделали максимально простым для вас сравнение документов. Вам не нужно устанавливать или настраивать что-либо, просто выберите свои файлы.

Нет никаких специальных требований к вашей системе для сравнения двух файлов. Это приложение работает во всех основных операционных системах и браузерах.

Вам не нужно устанавливать никаких приложений. Файлы сравниваются на наших серверах. К вашей системе нет никаких специальных требований.

Наша утилита сравнения файлов не хранит ваши файлы дольше, чем это необходимо. Ваши файлы и результаты будут удалены с нашего сервера через некоторое время.

Очень хорошее и простое приложение, которое позволяет мне быстро и легко видеть отличия между двумя похожими файлами.

Нет ничего проще для сравнения двух файлов. Сравнение двух версий документа становится пустяком благодаря этому инструменту.

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 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 подсмотрел тут: https://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/

Командная строка Windows

Если вам нужно просто сравнить файлы без редактирования, то можно воспользоваться стандартной командной строкой Windows 8.

Для этого просто перейдите в меню «Пуск», введите в строке поиска cmd и запустите найденное приложение cmd.exe. Затем введите команду fc /N X Z, где X — путь к первому документу (например, C:\Документы\text1.txt), а Z — путь к второму (например, C:\Документы\text2.txt). В итоге должна получиться подобная строка: fc /N C:\Документы\text1.txt C:\Документы\text2.txt.

После введения строки нажмите Enter, чтобы запустить проверку файлов.

Если различий в файлах мало, то этот способ поможет их выявить, но при большом количестве различий между документами лучше скачать другую программу.

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]