Meld: графическое средство сравнения и объединения файлов

Автор: Барт ван Куйк.
Оригинал: «meld: graphical tool to diff and merge files», 2 мая 2007 г.

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

В командной строке для сравнения двух файлов принято использовать diff. Хотя убежденные хакеры могут не согласиться, вывод diff сложно воспринимается на глаз, пусть даже и существует двухсторонний режим вывода --side-by-side.

Графическая визуализация предоставляет гораздо больше возможностей, и Meld пытается использовать их лучшим образом. Эта утилита позволяет графически увидеть разницу между двумя-тремя файлами. И, в отличие от diff, Meld позволяет редактировать и объединять файлы напрямую. Различия между файлами копируются или перемещаются щелчком мыши.

meld httpd.conf httpd.conf.default

Что там изменилось в httpd.conf?

При удержанной клавише Shift стрелки заменятся на крестики, которыми можно быстро удалить добавления, сделанные стажером в httpd.conf (после серьезного разговора с парнем!).

Если вы — программист, то вы, возможно, контролируете версии файлов с Subversion или CVS. Meld поддерживает и это. Напишите в командной строке

meld my/project/directory

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

Meld работает с локальной копией subversion

Хотя это не документировано, Meld, кажется, поддерживает bzr, CVS, darcs, mercurial, monotone и subversion. Meld включает и другие возможности, не упомянутые здесь, такие как режим сравнения директорий, нескольких языков и так далее. Советую просто установить пакет и осмотреться.

Альтернативные средства

На странице проекта можно найти небольшое сравнение с другими похожими средствами:

Kdiff3
Программа очень хороша для больших слияний. Есть возможность автоматического слияния.
Xxdiff
Имеет ряд приятных возможностей вроде скриптования и отмены слияния CVS. Сравнивает за раз два или три файла и только две директории.
TkDiff
Просмотр различий только между двумя файлами. Требует только tk.
GtkDiff
Средство сравнения для Gtk1.x. Кажется, проект умер.

Meld есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Warty. Зависит от языка скриптования Python.

Взято отсюда.

Создание ссылки на wine приложение

Нашел одну хорошенькую программу, но она написана для Windows. Каждый раз вызывать ее через терминал очень сильно ломало, поэтому создал в Главном меню ярлык на нее, а в качестве команды указал:
sh -c «cd /home/serg/Soft/Coyote && wine Coyote.exe»

Работает на ура!

P.S.Ушел читать мануал по совету Yurror.

Редактор UML для Linux

Появилась задача — моделировать UML диаграммы в Ubuntu. После непродолжительного поиска была найдена KDE-шная программа Umbrello, которая устанавливается в Ubuntu одной командой:

apt-get install umbrello

В Gnome, естественно, она тоже устанавливается на ура. Сейчас попробую в ней разобраться и опишу свои впечатления.

Русские буквы в программах запущенных под wine

Сегодня мне понадобилось в IE, запущенном при помощи wine, написать русский текст. Сразу сделать у меня это не получилось, но после непродолжительного поиска по forum.ubuntu.ru я нашел волшебную строчку, которая все поставила на свои места. Вот она:

sudo ln -s en_US.UTF-8 /usr/share/X11/locale/ru_RU.UTF-8

FTP клиент

В Windows я всегда использовал для соединения с FTP и навигации по содержимому локального компьютера Total Commander. В Ubuntu его, к сожалению, нет, но зато есть множество других клиентов:

  • gFTP — это был первый клииент, который я попробовал. Поработав с ним минут 10 я понял, что для меня он не очень удобен;
  • Gnome Commander — этот клиетн больше похож на Total Commander и работать в нем приятнее, нежели в gFTP, но у него очень маленький функционал;
  • Krusader — отличный FTP клиент, если бы не 2 маленьких нюанса: 1. Он для KDE, а у меня Gnome, а следовательно он за собой тянет библиотеки из KDE. 2. При каждом коннекте к FTP он спрашивает пароль (я грешу на то, что у меня не установлен менеджер паролей из KDE)
  • CrossFTP — написан на JAVA. Имеет множество настроек (в плоть до выбора кодировки сервера) и очень удобен, на первый взгляд. Установил я его сегодня так что ещё пару дней я его буду тестировать, но думаю, что я окончательно определился с FTP клиентом.

Часть вторая.

StarCraft: BloodWar

Вчера скачал одну из самых лучших игр, созданных когда либо человечеством — StarCraft: BloodWar. Причем я скачал версию, которую не нужно инсталлировать. Сегодня я записал игру на диск, вставил диск в CD-ROM и щелкнул в автоматом открывшемся окне два раза на файле StarCraft.exe. И о, чудо! Игра запустилась без проблем! Как? Очень просто — у меня установлен wine версии 0.9.37. И с ним все заработало на ура! И не надо никаких Cedega! Вот умели же люди игры делать! Мало того, что сама игра прост потрясающая, так еще и работает в любой ОС из тех с которыми я знаком! Не то что сейчас…

FireFox: открытие нового окна в новой вкладке

В Windows в FireFox была настройка, что команды инициализирующие открытие нового окна необходимо выполнять таким образом, чтобы открывалось не новое окно, а новая вкладка в активном окне. Под Ubuntu в настройках FireFox я такого найти не смог, поэтому поступил следующим образом:
1. Набрал в строке адреса about:config
2. В фильтре набрал window
3. В значение атрибута browser.windows.loadOnNewWindow поставил 0
4. Перезагрузил браузер.

Теперь, вроде, работает.

P.S.
Параметр browser.link.open_newwindow.restriction также установлен на 0.

Проверка md5 на дисках с дистрибутивом

Оказалось, что некоторое люди скачали не релиз Ubuntu 7.04 а его бетту. Поэтому, дамы и господа, проверяйте md5 хэш iso файла! Для этого скачайте файл MD5SUMS, он всегда лежит рядом с образом диска, и выполните терминале команду:
md5sum —check MD5SUMS

Opera 9.20

Браузер Opera я поставил несколько дней назад, но настроить его и поработать в нем все как-то не приходилось до сегодняшнего дня. Как всегда знакомство с программой я начал с изучения ее настроек. Как оказалось у оперы нет Flash плагина, но это не беда, если уже есть этот плагин для FireFox! Заходим в меню Tools — Preferences — Advanced — Content — Plug-in options. Щелкаем на кнопку Change path и в открывшемся окне щелкаем на Add. Если плагин для FF был установлен в ручную, то указываем /usr/lib/firefox/plugins/, а если плагин был установлен с использованием средств установки FF, то — /home/serg/.mozilla/plugins/. После этого закрываем все окна путем щелчков на кнопку ОК и плагинсчитаем настроенным.
Меню на английском это конечно не проблема, но уж если ОС на русксом, то и меню в программах должно быть на русском. Для этого идем на http://www.opera.com/download/languagefiles/ и скачиваем файл русификации для нужной версии. После оканчания загрузки файла я решил перенести его туда же, где находится и англоязычный файл, для этого выполнил в терминале следующую команду:

sudo mv ouw920_ru.lng /usr/share/opera/locale/

А дальше я следовал инструкции со страницы откуда производил загрузку файла:
1. Перешел в меню Tools — Preferences;
2. В закладке General в самом незу расположены сведения о языке интерфейса. Щелкнул на кнопку Details.
3. Щелкнул на Choose, выбрал скаченный файл и щелкнул на кнопку OK.

После этого интерфейс стал русским.

P.S.
Поработав в Opera, я понял, что он красивый и удобный, но все же он не для меня.