Поиск по сайту:

Руководство для начинающих по сравнению файлов с помощью визуального инструмента сравнения/слияния Meld в Linux


На этой странице

  1. О Мелде
  2. Установка Meld
  3. Использование объединения
  4. Заключение

Теперь, когда у нас есть несколько инструментов сравнения/слияния на основе командной строки в Linux, было бы логично объяснить некоторые визуальные инструменты сравнения/слияния, доступные и для ОС. Причина в том, что не все привыкли к командной строке, и/или инструменты сравнения на основе командной строки могут быть более сложными для изучения и понимания для некоторых.

Итак, начнем эту новую серию с инструмента на основе графического интерфейса, получившего название Meld.

But before we jump onto the installation and explanation part, it'd be worth sharing that all the instructions and examples presented in this tutorial have been tested on Ubuntu 14.04 and the Meld version we've used is 3.14.2.

О Мелде

Meld — это, по сути, инструмент визуального сравнения и слияния, который в первую очередь предназначен для разработчиков (однако будьте уверены, что он должен объяснять инструмент, имея в виду конечных пользователей). Инструмент поддерживает как двухстороннее, так и трехстороннее сравнение и позволяет сравнивать не только файлы, но также каталоги и проекты с контролем версий.

«Meld помогает вам просматривать изменения кода и понимать исправления», — говорится на официальном сайте. \Это может даже помочь вам понять, что происходит в том слиянии, которого вы все время избегаете\. Этот инструмент находится под лицензией GPL v2.

Установка мелда

Если вы используете Ubuntu или любой другой дистрибутив Linux на основе Debian, вы можете загрузить и установить Meld, используя следующую команду:

sudo apt-get install meld

Кроме того, вы также можете использовать системный менеджер пакетов для загрузки инструмента. Например, в Ubuntu вы можете использовать Центр программного обеспечения Ubuntu или Программное обеспечение Ubuntu, которое заменило предыдущую начальную версию ОС 16.04.

Однако возможно, что версия Meld в официальных репозиториях Ubuntu устарела. Итак, в этом случае, если вы хотите использовать более новую версию, вы можете скачать пакет отсюда. Если вы выберете этот метод, все, что вам нужно сделать, это извлечь загруженный пакет, а затем запустить двоичный файл meld, находящийся в папке bin:

~/Downloads/meld-3.14.2/bin$ ./meld 

К вашему сведению, для Meld требуются следующие пакеты:

  • Python 2.7 (Python 3.3 в разработке)
  • ГТК+ 3.14
  • GLib 2.36
  • PyGObject 3.14
  • GtkSourceView 3.14
  • пикаиро

Использование слияния

При запуске инструмента вы увидите экран, подобный следующему:

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

Щелкните параметр «Сравнение файлов», и вам будет предложено выбрать файлы для сравнения:

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

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

Таким образом, разница во второй строке обоих файлов, а фактическая разница заключается в дополнительных 3 во второй строке файла2. Те черные стрелки, которые вы видите, предназначены для выполнения операции слияния/изменения. Стрелка вправо в этом случае изменит вторую строку в файле2 на соответствующую строку из файла1. Стрелка влево сделает наоборот.

После внесения изменений вы можете сохранить их, нажав Ctrl+s.

Итак, это был простой пример, показывающий, как работает Meld на базовом уровне. Давайте посмотрим на немного более сложное сравнение:

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

Если вы внимательно посмотрите, полоса на скриншоте выше содержит несколько цветных блоков. Эти блоки предназначены для того, чтобы дать вам обзор всех различий между двумя файлами. «Каждый цветной блок представляет собой раздел, который вставляется, удаляется, изменяется или находится в конфликте между вашими файлами, в зависимости от используемого цвета блоков», — поясняется в официальной документации.

Теперь давайте вернемся к примеру, который мы обсуждали. На следующих снимках экрана показано, насколько легко понять изменения файлов (а также объединить их) при использовании Meld:

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

Вот как вы делаете некоторые из обычных вещей при использовании Meld: вы можете использовать стандартную комбинацию клавиш Ctrl+f, чтобы найти что-то в области редактора, нажать клавишу F11, чтобы перевести инструмент в полноэкранный режим, и Ctrl+r, чтобы обновить (обычно используется, когда один или оба сравниваемых файла изменились).

Ниже приведены некоторые из ключевых функций, рекламируемых на официальном веб-сайте Meld:

  • Двух- и трехстороннее сравнение файлов и каталогов
  • Сравнение файлов обновляется по мере ввода
  • Режим автоматического объединения и действия с блоками изменений упрощают объединение.
  • Визуализация упрощает сравнение файлов.
  • Поддерживает Git, Bazaar, Mercurial, Subversion и т. д.

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

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

Заключение

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