Относительно недавно занявшись изучением и программированием на PHP, я столкнулся с необходимостью сравнения одного или нескольких вариантов одного и того же кода.
Как же это сделать
Метка: meld
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
При удержанной клавише Shift стрелки заменятся на крестики, которыми можно быстро удалить добавления, сделанные стажером в httpd.conf (после серьезного разговора с парнем!).
Если вы — программист, то вы, возможно, контролируете версии файлов с Subversion или CVS. Meld поддерживает и это. Напишите в командной строке
meld my/project/directory
Meld определяет директории, находящиеся под контролем версий, и отображает измененные файлы. Двойной щелчок на файле показывает разницу между рабочим файлом и файлом хранилища. Meld основан на вкладках; изменения появляются в отдельных вкладках, чтобы было легко и быстро вернуться к обзору директории.
Хотя это не документировано, Meld, кажется, поддерживает bzr, CVS, darcs, mercurial, monotone и subversion. Meld включает и другие возможности, не упомянутые здесь, такие как режим сравнения директорий, нескольких языков и так далее. Советую просто установить пакет и осмотреться.
Альтернативные средства
На странице проекта можно найти небольшое сравнение с другими похожими средствами:
- Kdiff3
- Программа очень хороша для больших слияний. Есть возможность автоматического слияния.
- Xxdiff
- Имеет ряд приятных возможностей вроде скриптования и отмены слияния CVS. Сравнивает за раз два или три файла и только две директории.
- TkDiff
- Просмотр различий только между двумя файлами. Требует только tk.
- GtkDiff
- Средство сравнения для Gtk1.x. Кажется, проект умер.
Meld есть в Debian, начиная с Sarge, и в Ubuntu, начиная с Warty. Зависит от языка скриптования Python.
Взято отсюда.