0
Найти на сайте: параметры поиска

 

 

Сравнение документов с Meld в Linux

Автор:
Опубликовано: 3587 дней назад (28 июля 2015)
Рубрика: Без рубрики
Редактировалось: 6 раз — последний 28 июля 2015
+4
Голосов: 4

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

Для пользователей Linux программа поставляется в бинарных пакетах и устанавливается довольно просто. А вот пользователям Windows и OS X придётся загрузить некоторые дополнительные пакеты. Также существует portable-версия Meld – вы можете запустить программу из папки, не устанавливая её. Так очень удобно хранить Meld на флешке, зная, что необходимые вам утилиты вы сможете запустить на другом компьютере.

На данный момент Meld бесплатна для использования и распространяется под лицензией GPL v2. Последняя версия – 3.13.3, была выпущена в июле 2015 года. В новой версии были исправлены баги с подсветкой синтаксиса в Windows и исправлены ошибки в руководстве к программе.

На данный момент программа переведена более чем на 40 языков мира, включая русский. Перевод Meld на другие языки осуществляется благодаря одному из проектов Gnome, но поучаствовать в улучшении языковой поддержки может каждый. Далее на скринах вы, конечно, увидите, что половина программы переведена на русский, а половина осталась на английском. Я понятия не имею, с чем это связано, ведь перевести действия Undo/Redo и откомпилировать версию с переводом не так уж сложно.

Основные особенности и функционал Meld

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

Скриншот меню создания нового сравнения

Сравнение файлов

  • Возможность сравнивать между собой 2 или 3 файла одновременно;
  • Обновление сравнения на лету, в процессе редактирования файлов;
  • Лёгкая навигация по различающимся блокам текста;
  • Визуализация сравниваемых блоков и возможность применения к ним некоторых опций, значительно облегчающих работу;
  • Подсветка синтаксиса;
  • Возможность использовать встроенные регулярные выражения для фильтрации текста, чтобы программа игнорировала изменения, которые вас не интересуют.

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

Скриншот окна сравнения файлов

Учитывая специфику и назначение программы, в Meld очень удобно использование кнопок «отменить» / «повторить» действие и «обновить документ».

Сравнение директорий

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

Скриншот меню управления файлами

Поддержка систем контроля версий

    • Meld работает с многими популярными системами контроля версий, включая Git, Mercurial, Bazar, Subversion, Bazar и некоторые другие;
    • Наличие простых функций для работы с версиями (коммиты, обновление, удаление файлов);
    • Удобное использование Meld для проверки изменений в файлах перед коммитом.

Режим автоматического слияния (на стадии разработки)

  • Автоматическое объединение двух файлов с использованием общего предка;
  • Отображение на средней панели всех конфликтующих изменений в файлах;
  • Визуализация и объединение независимых друг от друга модификаций одного и того же файла;
  • Возможность блокировки некоторых базовых файлов в режим read-only (только чтение) для предотвращения ошибок;
  • Использование командной строки для упрощения работы с существующими инструментами, включая функции Git.

Для установки программы в Linux Mint выполните в терминале:

sudo apt-get install meld

Для адекватной работы Meld должны быть удовлетворены следующие требования:

  1. Наличие в системе Python 2.7 (Python 3 пока что не поддерживается);
  2. GTK+ 3.6 (в разработке поддержка 3.12);
  3. GLib 2.34 (2.36 в разработке);
  4. PyGObject 3.8;
  5. GtkSourceView 3.6 (3.10 в разработке).

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

Настройка Meld

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

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

Настройка фильтрации

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

Скриншот меню настройки фильтрации Meld

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

К примеру, нам нужно игнорировать в нескольких файлах различные типы отступов вроде табуляции и пробелов. Для этого мы ставим галочку напротив выражения [ \t\r\f\v]*, которое имеет описание "Любые пробелы". Но в таком случае новая строка будет считаться отличием. Чтобы игнорировать новую строку, мы  создадим вот такое регулярное выражение:
[ \n\t\r\f\v]*, где \n - новая строка, \t - табуляция и так далее.

Меню настроек тестовых фильтров в Meld

Вот так, собственно, и создаются новые регулярные выражения для фильтрации.

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

 

Loading...