diff


Сравнение двух бинарных файлов

$ diff -u <(od -A x -t x1 ref.bmp) <(od -A x -t x1 orig.bmp)

2
Ваша оценка: Ничего Рейтинг: 2 (1 vote)

Использование git для создания патчей

В старые добрые времена для создания патча для модуля нужно было иметь под рукой оригинальный нетронутый файл и файл с вашими изменениями. Затем использовать diff для сравнения двух файлов.

Для такой часто встречающейся практической задачи можно использовать git:

  • Загрузить модуль и распаковать
  • Инициализировать git репозиторий git init
  • Добавить файлы git add .
  • Сделать первый коммит, например git commit -m 'Версия 1.23 с CPAN'
  • Править, коммитить, править...
  • Сгенерировать патч git format-patch --stdout -1

Ссылка:
http://use.perl.org/~brian_d_foy/journal/37664

0
Ваша оценка: Ничего
ramok аватар

Автоматический показ diff в vim при коммите в svn

Перед комитом изменений проекта обычно просматривают diff, что же конкретно изменилось. Потом пишут комментарии к изменениям.
Этот процесс тоже, как ни странно Ж;-), можно немного автоматизировать.
Можно сделать так что при коммите, когда вызовется vim для написания комментария к комиту, в отдельном окне в vim автоматически откроется так же diff проекта.

Достаточно прописать в rc файл нашего любимого шела следующее

export SVN_EDITOR='vim -c "new|silent r! svn diff"\
 -c "set syntax=diff buftype=nofile" -c "silent 1|wincmd j"'

теперь при

$ svn commit

получаем вышеописанное поведение..

0
Ваша оценка: Ничего
ramok аватар

Просмотр изменений из svn в vim

В svn можно вызвать внешнюю программу просмотра изменений. А в vim имеется для этого специальный режим. Если сложить эти два обстоятельства вместе, можно очень удобно просматривать изменения в vim из svn Ж:-)
1. Создаем ~/bin/vimdiff-svn, даем ему права на исполнение и убеждаемся что ~/bin находится в нашем $PATH

#!/bin/sh
while [ $# -gt 2 ]; do shift; done
vim -d $@

2. Запускаем

$ svn diff --diff-cmd vimdiff-svn

и наслаждаемся результатом Ж:-) Что бы просмотреть следующий файл - выходим из vim (удобно по :qa или :qa!)

Пример использования основанный на этом .

$ svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdelibs/kdecore/
$ cd kdecore
$ svn diff -r 181258:183456 kglobalaccel_x11.cpp --diff-cmd vimdiff-svn
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Просмотр diff из потока в цвете

Часто приходится смотреть diff не из файла, а из потока, например сформированный командой cvs diff или svn diff.
Удобно в таком случае просматривать в цвете в vim, не записывая в файл, а прямо в потоке.

наример:

$ svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdelibs/kdecore/
$ cd kdecore
$ svn diff -r 181258:183456 kglobalaccel_x11.cpp | vim -

diff покажется красиво раскрашенным Ж:-)

PS

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
alexu аватар

Цветной gcc, make, и diff

раз уж пошел разговор о цветах, то установив цветные фантики, можно также установить цветной gcc, make, и diff.
устанавливается пакетами:

colorgcc, colormake, colordiff

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

0
Ваша оценка: Ничего
ramok аватар

Как сравнить 2 каталога

$ diff -qr dir1 dir2

0
Ваша оценка: Ничего