Библиотека сайта rus-linux.net
Сравнение файлов с помощью приложения Meld в Linux для начинающих
Оригинал: A beginner's guide to comparing files using visual diff/merge tool Meld on Linux
Автор: Himanshu Arora
Дата публикации: 19 января 2017 г.
Перевод: А.Панин
Дата перевода: 8 марта 2017 г.
После того, как мы рассмотрели несколько инструментов с интерфейсом командной строки, предназначенных для сравнения и объединения файлов в Linux, логично было бы описать некоторые аналогичные инструменты с графическим интерфейсом. Это следует сделать еще и потому, что не все привыкли работать с интерфейсом командной строки системы и/или инструментами с интерфейсом командной строки для сравнения файлов, которые могут оказаться более сложными в освоении для неопытных пользователей.
По этой причине мы посвятим эту новую серию статей рассмотрению возможностей приложения под названием Meld.
Но перед тем, как перейти к рассмотрению вопросов установки и использования упомянутого приложения, следует упомянуть о том, что все инструкции и примеры, представленные в данной статье, были протестированы в системе Ubuntu 14.04 с Meld версии 3.14.2.
Пара слов о Meld
На официальном сайте проекта говорится: "Приложение Meld упрощает обзор модификаций кода, а также разбор патчей. Оно может помочь вам даже в выяснении последствий внесения модификаций, которых вы старались избегать. Код проекта распространяется в соответствии с условиями лицензии GPL v2."
Установка Meld
Если вы используете Ubuntu или любой дистрибутив на основе Debian, вы можете загрузить и установить пакет программного обеспечения Meld с помощью следующей команды:
sudo apt-get install meld
Также вы можете использовать ваш менеджер пакетов программного обеспечения для установки данного приложения. Например, в Ubuntu вы можете использовать менеджер пакетов программного обеспечения под названием Центр приложений Ubuntu или Ubuntu Software, заменивший первый менеджер пакетов программного обеспечения в версии 16.04.
Однако, не стоит исключать и вариант развития событий, при котором версия Meld из официального репозитория дистрибутива Ubuntu окажется устаревшей. В подобной ситуации вы можете использовать более новую версию приложения после загрузки архива с файлами проекта, расположенного по
~/Downloads/meld-3.14.2/bin$ ./meld
Вам стоит знать, что для корректной работы Meld требуются следующие программные компоненты:
- Python 2.7 (версия, совместимая с Python 3.3, находится в разработке)
- GTK+ 3.14
- GLib 2.36
- PyGObject 3.14
- GtkSourceView 3.14
- pycairo
Использование Meld
После запуска приложения вы должны будете увидеть окно, аналогичное приведенному на иллюстрации ниже.
Таким образом, у вас имеется три варианта действий: Сравнение файлов
(File Comparsion
), Сравнение каталогов
(Directory comparsion
) и Просмотр контроля версий
(Version control view
).
Нажмите на кнопку Сравнение файлов
(File comparsion
), после чего вам будет предложено выбрать файлы для сравнения.
Как становится ясно после рассмотрения приведенного выше снимка окна приложения, Meld позволяет также осуществлять сравнение трех файлов, но в данной серии статей мы будем сравнивать два файла, так как на практике эта операция осуществляется гораздо чаще.
После этого следует выбрать файлы для сравнения и нажать на кнопку Сравнить
(Compare
). В результате вы увидите, как приложение откроет оба файла и отметит отличающиеся строки (а также их отличающиеся фрагменты).
Очевидно, что в исследуемых файлах отличается лишь вторая строка, причем различие заключается в дополнительном символе "3" во второй строке файла с именем file2. Эти черные стрелки, которые несложно заметить, используются для осуществления операции объединения/модификации файлов. Правая стрелка в данном случае позволяет заменить вторую строку файла с именем file2 на соответствующую строку из файла с именем file1. Левая стрелка позволяет осуществить противоположную операцию.
После внесения изменений вы можете воспользоваться комбинацией клавиш Ctrl+S
для их сохранения.
Это был простой пример, демонстрирующий принцип работы приложения Meld. Давайте рассмотрим пример более сложного сравнения файлов.
Перед обсуждением изменений стоит обратить внимание на то, что интерфейс приложения Meld содержит специальные области, указывающие позиции отличающихся фрагментов исследуемых файлов. Если говорить конкретно, то речь идет о вертикальных полосах в левой и правой сторонах окна. Например, вы можете увидеть одну из таких полос на следующей иллюстрации.
Если вы посмотрите на иллюстрацию внимательнее, то без труда обнаружите, что полоса содержит цветные блоки. Эти блоки позволяют оценить все различия между двумя исследуемыми файлами. В официальной документации дается следующее описание данных блоков: "Каждый цветной блок представляет фрагмент файла, который был добавлен, удален, изменен или является причиной конфликта между вашими файлами в зависимости от используемого цвета".
Теперь давайте вернемся к рассмотрению нашего примера. Из следующих иллюстраций становится очевидной простота выявления изменений файлов (а также их объединения) в случае использования Meld:
До этого момента мы пролистывали содержимое файлов от одного отличия к другому. Однако, бывают случаи, когда исследуемые файлы имеют очень большой объем, что затрудняет процесс поиска отличий. В таких случаях могут использоваться кнопки с оранжевыми стрелками на панели инструментов, которая расположена над областью редактирования.
Также Meld позволяет выполнять следующие базовые операции: вы можете использовать стандартную комбинацию клавиш Ctrl+F
для поиска произвольного текста в области редактирования, клавишу F11
для перевода приложения в полноэкранный режим, комбинацию клавиш Ctrl+R
для обновления содержимого области редактирования (обычно используется когда один или оба исследуемых файла подверглись внешнему изменению в процессе исследования).
А это список ключевых функций приложения, приведенный на официальном сайте проекта Meld:
- Двух- и трехстороннее сравнение файлов и директорий.
- Обновление результатов сравнения файлов по мере редактирования их содержимого.
- Режим автоматического объединения и действия с измененными блоками данных, упрощающие объединение файлов.
- Визуализации, упрощающие сравнение файлов.
- Поддержка Git, Bazaar, Mercurial, Subversion и так далее.
Учтите, что приведенный выше список возможностей приложения не является исчерпывающим. Веб-сайт проекта содержит
Как и любой другой программный продукт, Meld не может выполнять некоторые операции. На официальном веб-сайте проекта упомянута по крайней мере одна такая операция: "При отображении различий между файлами осуществляется вывод содержимого этих файлов таким же образом, как это мог бы сделать обычный текстовый редактор. Приложение не вставляет в файлы дополнительные строки для того, чтобы привести определенные измененные фрагменты файлов слева и справа к одинаковому размеру. Также не существует параметра, позволяющего активировать данный режим.".
Заключение
В данной статье были рассмотрены самые очевидные приемы использования приложения Meld, которое обладает достаточно богатым функционалом. Но для начала этой информации будет вполне достаточно, ведь это лишь первая статья серии. Для того, чтобы заинтересовать вас, следует упомянуть о том, что в круг дополнительных возможностей Meld входит функция игнорирования определенных типов отличий файлов, функции перемещения, копирования и удаления отдельных отличий файлов, кроме того, имеется много нюансов, связанных с запуском приложения из командной строки. Мы обсудим эти функции и нюансы в следующих статьях серии.