WinMerge Сравнение файлов. Утилиты для быстрого сравнения документов Сравнение текстовых файлов по содержимому

  • Дата: 07.04.2024

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

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

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

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

KDiff3

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
tool = winmerge cmd = "winmerge" tool = winmerge cmd = "winmerge" trustExitCode = false keepBackup = false
последняя строчка отменяет сохранение backup-файлов в директории репозитория.

3) Создадим конфликт при слиянии двух веток (см. пример с использованием DiffMerge).
git difftool master new // сравним две ветви

Для разрешения конфликта при слиянии веток, воспользуемся командой
git mergetool

Друзья, рад вас приветствовать на страницах моего блога. Сегодня хочу рассказать вам о 4 способах сравнения файлов по содержимому. Необходимость найти различия возникает довольно часто. Приходится делать сравнение файлов по типу или размеру. Сравнение файлов в Word и Excel тоже весьма распространённая процедура в офисах и конторах, где постоянно приходится работать с текстовыми документами и таблицами.

Но для веб-мастера или владельца сайта часто бывает необходимо сравнить два файла по содержимому. И речь идёт не о текстовых файлах, хотя и они тоже анализируются так же, а о форматах.html, .css, .php и так далее. Тех файлах, где нужно найти изменения в коде. И порой изменение одного лишь знака может обеспечить уйму трудностей с достижением результата.

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

И, вообще, работая с файлами сайта, достаточно часто приходиться анализировать код. Делать это вручную нереально. Куда проще воспользоваться подручными средствами, инструментами, которые должны быть у каждого веб-мастера и владельца сайта.

Способ 1. Сравнение файлов в программе Total Commander.

Этой программой я пользуюсь давно. Для работы с файлами, на мой взгляд, это одна из лучших программ. Программа Total Commander платная, но можно в течение 30 дней пользоваться и пробной версией, которая по истечении времени также будет работать, но с предложением о покупке. Скачать пробную версию можно .

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

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

Итак, запускаете Total Commander – в одной из панелей выбираете первый файл для сравнения – во второй панели открываете папку со вторым файлом.

Откроется новое окно, также разделённое на две панели. В самом верху, в каждой панели будет срока для выбора файла. В одной из них первый файл будет уже выбран (но может быть и пустым). Для выбора файла нужно нажать на небольшую кнопочку со стрелочками (>>) .

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

Для внесения изменений в файл достаточно нажать на кнопку «Редактировать» . И можно приступать к внесению изменений. Также здесь будут доступны функции копирования и отката, поиска и изменение кодировки.

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

Способ 2. Сравнение файлов в Notepad++.

Если вам приходилось, хоть когда-либо, редактировать файлы html, css и php. То наверняка вы слышали о бесплатном редакторе кода Notepad++. Скачать программу можно .

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

Но для этого потребуется установить небольшой плагин. Делается всё это непосредственно внутри самого редактора.

Итак, запускаете редактор – переходите в пункт меню «Плагины » «Plugin Manager» «Show Plugin Manager» .

В новом окне выбираете плагин « Compare» и жмёте кнопку « Install» .


После установки плагина можно приступать к сравнению содержимого файлов. Для этого нужно открыть два файла – перейти в пункт меню «Плагины» « Compare» « Compare (Alt+ D)» .

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

Строка, где найдены малые отличия, будет подсвечиваться жёлтым цветом, и обозначена восклицательным знаком.

Строка, которая полностью отличается, будет отмечена на одной панели красным минусом на другой зелёным плюсом. И подсвечена соответствующим цветом.

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

Завершить сравнение файлов можно комбинацией клавиш Ctrl+ Alt+ D .

Способ 3. Сравнение содержимого двух файлов в программе WinMerge.

Эта программа позволяет сравнивать не только содержимое файлов, но и содержимое целых папок. Этим она похожа на Тотал Коммандер, только программа бесплатная. Скачать её можно .

Установка программы стандартная и не составит труда. Поэтому на этом останавливаться не будем, а сразу перейдём к процессу сравнения двух файлов.

Запустив программу, нужно выбрать файлы для сравнения. Открываете пункт меню «Файл» «Открыть» .



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

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

Способ 4. Сравнение файлов с помощью командной строки Windows.

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

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

Для этого открываете «Пуск» «Все программы» «Стандартные» «Командная строка» . И вводите вот эту команду:

Fc /N путь к первому файлу путь ко второму файлу

выглядит это так:

Fc /N C:\Мои документы\file1.txt C:\Мои документы\file2.txt

Готовый результат будет выглядеть так:


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

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

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

На этом сегодня всё, всем желаю успехов и хорошего настроения и до встречи в новых статьях и видеоуроках!

С уважением, Максим Зайцев.


FreeFileSync - это утилита, которая была разработана для синхронизации файлов в указанных пользователем каталогах. Реализовано сравнение файлов не только по размеру и дате, но и по содержимому (побайтовое сравнение). Отличительной чертой приложения следует считать простой и понятный графический интерфейс. К синхронизируемым файлам могут применены фильтры, с помощью которых можно исключать файлы из процесса или, наоборот, включать в него. Поддерживаются несколько методов синхронизации: автоматический режим, при котором изменения происходят в обеих папках; зеркальное отображение, при котором указанная папка становится «зеркалом» другой; режим обновления, когда происходит копирование только измененных и/или новых файлов; ручной режим. Предусмотрена также возможность синхронизации по расписанию. Утилита умеет обрабатывать файлы размером более 4 GB.

Системные требования:
Windows: XP/Vista/7/8/8.1/10

Торрент Программа для сравнения файлов - FreeFileSync 9.9 подробно:
·Сравнение файлов (по размеру или по дате) и их синхронизация
·Нет ограничения на количество сравниваемых файлов
·Поддержка unicode
·Поддержка сети
·Синхронизация баз данных для поиска удаленных файлов и других конфликтов
·Поддержка синхронизации с разными конфигурациями
·Полная поддержка символических ссылок в Windows/Linux и NTFS Junction Point
·Простой и понятный интерфейс, оптимизированный для быстрой работы с большим количеством информации
·Алгоритмы полностью написаны на C++
·Все процессы оптимизированы для максимальной производительности
·Создание заданий для автоматической синхронизации с возможностью скрытия GUI
·Акцент на удобство
·Поддержка файлов размером более 4 GB
·Возможность перемещения файлов в корзину вместо удаления
·Директории "RECYCLER" и "System Volume Information" автоматически игнорируются при синхронизации (Windows)
·Большое количество локализаций
·Возможность очистки диска перед копированием на него больших файлов
·Использование фильтра для включения/исключения файлов в список для синхронизации без повторного сравнения директорий
·Возможность временно исключить файл из списка синхронизации
·Правильное изменение времени создания файлов на томах с ФС FAT/FAT32
·Есть 64-битная версия программы
·Поддержка префикса \\?\ без ограничения длинны пути (Windows)
·Автоматическая проверка обновлений
·Копирование заблокированных файлов с использованием службы теневого копирования (Windows)
·Создание бэкапов с использованием переменных %time%, %date% вместо имени папки

Что нового:
·Добавлена поддержка экранов высокого разрешения
·Разрешены автоматические повторные попытки на уровне конфигурации
·Во время синхронизации показываются настройки обработки ошибок
·Убрана зависимость libpng.so (Linux)
·Исправлено некорректное поведение при закрытии диалогового окна прогресса во время паузы
·Добавлена проверка библиотек DLL, загружаемых в адресное пространство
·Исправлена ошибка парсинга FTP для устройств Windows CE
·Добавлено временное решение для проблемы с провайдером VSS
·Приоритетный учет пользовательских настроек macOS для разделителя даты и тысяч
Обновлены языковые переводы

Нередко при работе приходится сравнивать между собой различные модификации документов, например, исходную и измененную редакции материалов, подготовленных в Word либо в виде PDF-документов или презентаций, рабочую и обновленные версии прайс-листов с изменившимися ценами в Excel, разные версии текстовых документов и т.п. При этом вопрос не в том, какая из версий файлов является более свежей (это и так понятно из свойств файлов), а важно, что именно изменилось в документах с точки зрения содержимого. Сравнивать документы вручную - занятие неблагодарное из-за слишком больших затрат времени и возможности ошибок, ведь не заметить какую-то важную деталь при просмотре проще простого. Гораздо разумнее задачу сравнения файлов перепоручить компьютеру. В целом, в плане сравнения Word-документов все обстоит достаточно благополучно и без использования вспомогательных инструментов, хотя в версиях Word 2002 и Word 2003 данная возможность надежно скрыта от чужих глаз, и, вероятно, не так много пользователей о ее существовании вообще догадываются. Дело в том, что для сравнения документов здесь нужно вначале загрузить исходный файл. Затем из меню "Сервис" открыть команду "Сравнить и объединить исправления", указать файл, сравниваемый с исходным, и включить флажок "Черные строки". Только после этих манипуляций кнопка "Объединить" превратится в кнопку "Сравнить", и при щелчке по данной кнопке программа и проведет сравнение файлов.

Результаты сравнения будут показаны во вновь созданном документе в традиционном режиме рецензирования. С появлением Word 2007 все стало гораздо проще, поскольку теперь достаточно переключиться на вкладку "Рецензирование", щелкнуть по кнопке "Сравнить" и указать сравниваемые версии документа. Результат сравнения окажется представленным в новом документе, где слева будет отображен отрецензированный документ с учетом изменений, а справа (друг над другом) - исходный и измененный документы. Теоретически, в Excel тоже возможно сравнение документов встроенными средствами, правда, только при работе в режиме фиксирования изменений. Однако это неудобно, поскольку каждую из измененных ячеек придется просматривать, наводя на нее мышь, так как изменения, внесенные в документ, отображаются во всплывающих окошках (примерно таких, как обычные примечания).

Во-вторых, если названный режим не будет предварительно включен (команда "Сервис" > "Исправления" > "Выделить исправления", флажок "Отслеживать исправления"), то произвести сравнение XLS-файлов потом окажется невозможно.

Что касается быстрого сравнения PDF-документов, то такая возможность, конечно, имеется в Acrobat 9 Pro и Acrobat 9 Pro Extended, но эти решения установлены далеко не на каждом компьютере. Поэтому при необходимости быстрого сравнения Excel-таблиц, PDF-документов, презентаций, а также документов в других форматах, в частности, текстовых файлов и программных кодов, приходится прибегать к использованию дополнительного инструментария. Вариантов тут множество, и это могут быть как комплексные решения, позволяющие работать с несколькими файловыми форматами, так и узкоспециализированные утилиты. Немалая часть подобных решений предлагается за приличные деньги - скажем, цена одного из самых известных в этой сфере комплексных решений Diff Doc составляет $99,95, а весьма популярная среди программистов утилита Araxis Merge оценивается в €119. Вместе с тем, на рынке имеются и вполне доступные по цене либо вообще бесплатные программы подобного плана, именно такие решения мы и оценим в данной статье. При этом основное внимание уделим комплексным решениям, а из узкоспециализированных средств отметим лишь утилиты для быстрого сравнения таблиц Excel, поскольку это одна из наиболее актуальных задач, а проведение сравнения Excel-документов комплексными решениями хоть и возможно, но менее эффективно, чем с помощью узкоспециализированных утилит.

⇡ Комплексные решения для быстрого сравнения документов

Compare Suite 7.0

Разработчик: AKS-Labs
Размер дистрибутива: 3,79 Мб
Распространение: условно бесплатная Compare Suite - удобный инструмент для быстрого сравнения текстовых файлов, документов MS Office, RTF-документов, файлов PDF, web-страниц (HTM), презентаций PowerPoint, бинарных и некоторых других типов файлов, а также файлов в ZIP- и RAR-архивах и на FTP-серверах. В случае сравнения листингов программ на ряде языков программирования (Object Pascal, HTML, C/C++, JavaScript, PHP и др.) предусмотрена подсветка синтаксиса. Имеется функционал для синхронизации текстовых файлов и сравнения папок вместе с подпапками. Демо-версия программы (имеется русскоязычная локализация) работоспособна в течение 30 дней и полностью функциональна. Стоимость коммерческой версии составляет 60 долл. Технология сравнения файлов в Compare Suite проста. Вначале выбирается метод сравнения файлов, для чего в меню "Сравнить" нужно выбрать один из вариантов: "посимвольно", "пословно", "по ключевым словам". Классическое посимвольное сравнение полезно в ситуациях, когда нужно зафиксировать малейшие отличия в написании слов - скажем, при сравнении листингов программ. Пословное сравнение документов, как правило, используется для сравнения разных версий одного и того же файла. С помощью метода сравнения по ключевым словам можно сравнить непохожие документы даже тогда, когда пословное сравнение невозможно.

После выбора метода сравнения, в меню "Файл" надо выбрать команду "Новое сравнение файлов" и указать на левой и правой панелях файлы для сравнения. Программа проанализирует файлы и выделит все имеющиеся отличия (добавленные, измененные и удаленные фрагменты) различными цветами. Дополнительно можно создать сравнительный отчет с детальной информацией о сравниваемых файлах (команда "Файл" > "Отчет"). При сравнении файлов, отличных от текстовых, следует иметь в виду, что их сравнение во всех комплексных решениях (как в Compare Suite, так и в других утилитах) производится после преобразования в текстовый формат. На практике это означает, например, что если в сравниваемых версиях Word-документа одно и то же слово в конкретном предложении оказалось на разных строках, то оно будет причислено к списку изменений. При сравнении XLS-документов данные из таблиц перед проведением анализа извлекаются, а найденные отличия отображаются построчно в текстовом формате с указанием имени листа и названий столбцов, что позволяет ориентироваться в данных. По такой же схеме осуществляется сравнение PDF-документов и презентаций PowerPoint.

Бесплатные решения

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

В путеводитель вошли 10 программ, которые можно назвать во многом универсальными: они не привязаны к определенному сервису или приложению, позволяют выполнять вышеназванные (и менее специализированные) задачи не только через графический интерфейс, но и в режиме командной строки.

Критерии сравнения выглядят следующим образом:

  • Интерфейс: поддержка режимов отображения, сохранение сессий, возможности настройки панели инструментов, колонок
  • Функциональность текстового редактора, работа с исходным кодом
  • Методы слияния и синхронизации, возможность трехстороннего сравнения
  • Экспорт отчетов, создание патчей (diff)
  • Дополнительные функции: интеграция со сторонними приложениями, поддержка расширений, протоколов и др.

SmartSynchronize

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

Режимы сравнения представлены в приветственном окне программы. Помимо диалога выбора файлов, здесь возможен просмотр истории и выбор сохраненного профиля. Также в настройках (Preferences) настраиваются фильтры: файловые — для отсеивания файлов по названию и расширению, и фильтры директорий — позволяют составить список исключений.

Для сравнения файлов используется двухпанельный режим side-by-side с синхронной прокруткой содержимого обеих панелей. Условных обозначений в SmartSynchronize немного, но, благодаря соединительным линиям (linking lines), операции сравнения и слияния очень интуитивны. SmartSynchronize указывает, куда и в каком направлении будет добавлен участок из одного файла в другой. Вставка текста производится одним кликом, позволяя обойтись без контекстного меню.

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

В целом, SmartSynchronize гибко настраивается, но все настройки распределены по разным разделам меню, что требует некоторого привыкания. Не хватает режимов отображения, настроек панели инструментов.

В режиме сравнения директорий выводится список файлов и статус для каждого из них, в нижней части окна доступен предосмотр. Метод сравнения — по содержимому или только по размеру и времени — определяется в настройках Edit → Preferences. Количество информационных колонок (тип файла, дата) нельзя увеличить, хотя отключить имеющиеся можно.

В SmartSynchronize реализовано как одностороннее объединение данных с левой или правой сторонами, так и обычная синхронизация. Конфигурацию можно сохранить для последующей загрузки, сделав снимок файловой структуры. Как поясняют разработчики, программа не распознает атрибуты файлов, поэтому использовать ее в качестве утилиты для резервирования нет смысла. Работа с архивами также не предусмотрена, равно как и с удаленными каталогами.

Помимо вышеупомянутых, имеется дополнительный, трехсторонний метод слияния — 3-Way-Merge, который позволяет объединить различия между несколькими версиями файлов, причем каждый из трех документов можно редактировать независимо друг от друга.

Функции сравнения, несомненно, востребованы программистами при контроле версий. Поэтому в заключение стоит сослаться на альтернативное решение этой же компании — . Программа представляет собой CVS-клиент с интегрированным инструментарием SmartSynchronize.

Резюме . SmartSynchronize предлагает неплохой инструментарий для работы с файлами и директориями, местами не поддающийся настройке и не выходящий за рамки базовых возможностей.

[+] Трехстороннее слияние
[+] Удобный текстовый редактор
[−] Отсутствие документации
[−] Невозможность синхронизации удаленных каталогов и архивов

WinMerge

WinMerge — программа для сравнения и объединения файлов и каталогов в ОС Windows. Ее можно использовать как отдельный инструмент либо в связке с проектами. В WinMerge встроен текстовый редактор с поддержкой языков программирования, подсветкой и нумерацией строк.

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

В режиме сравнения файлов в окне отображаются оба файла, в левой и правой части. Для удобной навигации по содержимому предусмотрена карта («Местоположения»). Строки, которые имеют различия, отмечены цветом, также с ними можно ознакомиться в панели «Отличия». Основные операции слияния доступны в разделе «Объединение».

Отдельного внимания заслуживает функциональность текстового редактора. Внешний вид поддается модификации. Помимо подсветки синтаксиса и нумерации строк, предусмотрена работа со скриптами, а расширение функциональности возможно за счет дополнений. Дополнения относятся к распаковщику, представлению и редактору скриптов.

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

WinMerge позволяет выполнять одни и те же задачи разными способами — в том числе, с помощью перетаскивания или через контекстное меню Проводника. Можно создавать проекты для быстрого доступа к данным и настройкам. WinMerge работает в режиме командной строки, также программу можно использовать в связке с системами контроля версий (TortoiseSVN, Visual Studio, Rational ClearCase и т. п.).

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

[+] Поддержка расширений
[+] Функциональный редактор
[+] Интеграция со сторонними приложениями
[−] Нет трехстороннего сравнения

Meld

Meld — кроссплатформенная программа (OS X, Linux, Windows) для синхронизации файлов и директорий. С ее помощью осуществляется как двух-, так и трехстороннее сравнение. Прежде всего, инструментарий Meld будет полезен разработчикам, так как возможна интеграция с системами управления версиями: Git, Bazaar, Mercurial, Subversion и прочими.

Несмотря на поддержку нескольких платформ, приложение далеко не стабильно функционирует в Windows. Скажем, вкладки и окна не всегда открываются и закрываются корректно. Возможно, проблемы связаны с библиотекой PyGTK, входящей в инсталлятор. Запустить программу получилось не сразу и только от имени администратора. Ошибки возникают постоянно, в подтверждение — .

В процессе сравнения файлов можно задействовать текстовый фильтр или поиск (поддерживается синтаксис regex). Предусмотрены подсветка синтаксиса (используется библиотека ), нумерация строк, учет пробелов и другие опции, которые нужно активировать через настройки, так как по умолчанию они отключены. Вставки, изменения и конфликты в документе подсвечиваются, возможна быстрая навигация по списку изменений и экспорт в формате diff. Связь между файлами легко отследить с помощью соединительных линий и одним кликом произвести слияние нужных участков.

Сканирование файлов директорий работает очень медленно. Это связано с тем, что сравнение осуществляется по содержимому, а не по размеру и временно́й отметке. Проблема решается установкой флажка напротив соответствующей опции в настройках. Набор доступных колонок весьма ограничен: размер, дата модификации и разрешения. Хотя и можно воспользоваться файловым фильтром, просмотр длинного списка файлов все равно превращается в рутинный процесс: нельзя мгновенно остановить сканирование, свернуть дерево файлов, быстро переместиться к нужным элементам.

Разработчикам будет интересен третий режим работы приложения — Version Control View. Meld поддерживает интерфейс командной строки, поэтому предусмотрена интеграция со средами Git, Bazaar, Mercurial, Subversion и многим другими.

Резюме . Программа Meld зарекомендовала себя с хорошей стороны в среде Linux, чего нельзя сказать о функционировании в Windows. Нестабильная работа и неудобный интерфейс, отсутствие сессий, недостаточная гибкость настройки... С другой стороны, инструментарий программы неплох, а качественная адаптация Meld для Windows, возможно, лишь вопрос времени.

[+] Трехстороннее сравнение
[+] Поддержка систем контроля версий
[−] Медленная и нестабильная работа в Windows
[−] Неудобный и неинформативный интерфейс

Diffuse

Diffuse —кроссплатформенный продукт для ОС Windows, OS X, Linux и BSD, по интерфейсу напоминающий Meld (в основе — библиотека PyGTK), но имеющий функциональные отличия. Заявлена интеграция с Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion и другими средами.

Продолжая сравнение с Meld: Diffuse характеризуется стабильностью, здесь нет внезапных зависаний. Доступна подробная документация, интерфейс переведен на русский язык. Однако сравнение директорий не входит в инструментарий, в программу заложены только функции сравнения файлов и их редактирования. В Diffuse можно обнаружить несколько режимов слияния: — двух-, трех- и многостороннее. Таким образом, источников сравнения может быть сколько угодно, вопрос лишь в быстродействии и удобстве. Касательно второго аспекта можно лишь сказать, что сессий здесь нет — соответственно, работа с большими проектами в Diffuse под вопросом.

Различия отмечаются цветом, сводка (Comparison Summary) доступна возле полосы прокрутки, для навигации по списку изменений предназначены кнопки на панели управления. Нумерация строк и подсветка синтаксиса с возможностью ручного переключения включены по умолчанию. В отличие от других подобных редакторов, в Diffuse нельзя сразу выделить произвольный участок текста, для этого необходимо дважды кликнуть по содержимому. В ином случае можно выделять текст и производить другие действия только построчно.

Очевидно, что в Diffuse перелинковки различий между файлами нет, поэтому слияние строк осуществляется менее интуитивным методом. Все доступные команды собраны в разделе «Слияние», куда нужно обращаться каждый раз за неимением команд в контекстном меню. В SmartSynchronize или других упомянутых решениях многие операции производятся в один клик.

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

Резюме . Функциональность такого рода востребована при слиянии нескольких текстовых документов. Программа лишена недостатков, присущих ближайшему аналогу Diffuse — Meld. Но, к сожалению, сравнение директорий и отчетность остались за бортом.

[+] Удобная работа со строками
[+] Интеграция с CVS
[+] Многооконное слияние
[−] Отсутствие сессий
[−] Маркировка изменений не интуитивна

Perforce P4 Merge

P4Merge нечасто упоминается среди других бесплатных продуктов (например, по сравнению с WinMerge). К тому же отыскать эту программу среди других компонентов комплекса Perforce непросто. Perforce — это коммерческая кроссплатформенная система управления версиями, обладающая широкой сферой применения, не в последнюю очередь за счет плагинов и интеграции с различными продуктами (IntelliJ IDEA, Autodesk 3D Studio Max, Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs и др.). Впрочем, P4 Merge может работать автономно от сервера Perforce, достаточно скачать программу с сайта разработчика для ее бесплатного использования.

Основные операции — это сравнение файлов (Diff) и слияние (Merge). Редактор документов предельно прост: есть нумерация, но нет подсветки синтаксиса. Редактировать файлы в двух панелях «на лету» нельзя, нужно выбрать одну из панелей, включить режим редактирования и затем сохранить изменения. Различия маркируются, для перехода между ними предназначены кнопки навигации. Ориентироваться по изменениям проще всего с помощью соединительных линий. В целом, интерфейс P4 Merge недостаточно удобен: в нем нет сводки по различиям, статистика по изменениям представлена суммарной цифрой, без детализации, для просмотра изменений нужно использовать ручное обновление.

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

Резюме . Конечно, в P4 Merge множество функциональных ограничений, особенно если сравнивать с платными продуктами. Приложение можно рассматривать сугубо как дополнение к серверу Perforce. Возможно, в поисках нужного инструментария следует обратить внимание и на другие компоненты, доступные на сайте разработчика.

[+] Диаграмма слияния в режиме Merge
[−] Слабая функциональность
[−] Невозможность редактирования на лету
[−] Отсутствие команд слияния