Я ищу инструмент, который будет принимать вывод diff / debdiff (более конкретно, и , вывод этого скрипта ) и отображать результат сравнения в высокой степени читаемый, графический способ. Любые указатели будут оценены.
В идеале, это будет GTK +, эквивалент FOSS MDR .
Meld, Diffuse и подобное программное обеспечение не подходят для этой цели, так как они предназначены для автономной работы и не принимают входные данные от stdin.
Несмотря на то, что приложение KDE может быть установлено без слишком большого количества зависимостей, kdiff является отличным инструментом для редактирования и объединения различий.
Kompare может сделать это (и является лучшим GUI diff-viewer для IMO):
./whatchanged package_name | kompare -
Обратите внимание на '-', данное в качестве аргумента входного файла. Большинство * nix-программ имеют этот интерфейс для приема вводимых по трубопроводу данных, поэтому вы, вероятно, можете использовать тот, который вам больше нравится.
Если у вас есть только консоль, colordiff
- неплохое решение.
Чтобы установить его, выполните эту команду sudo apt-get install colordiff
в терминале
Мне нравится использовать внутреннюю подсветку синтаксиса vim в качестве пейджера, чтобы я мог просматривать цветные различия. Например, поместив это в свои .bashrc
:
sudo apt-get install vim
alias vless='vim -u /usr/share/vim/vimcurrent/macros/less.vim'
(а затем повторно введите .bashrc
с помощью . ~/.bashrc
.) Затем вы можете запустить vless
в качестве пейджера:
vless /path/to/your.diff
Это не графическое изображение, но оно, по крайней мере, выделено.
Я бы использовал этот простой сценарий для использования meld (или любого другого существующего инструмента), таким образом, вы получите немного гибкости:
#!/bin/bash
TMPDIR=`mktemp -d`
DIFF_FILE=`mktemp`
TARGET='./'
cat /proc/$/fd/0 > $DIFF_FILE
cd $TARGET
rsync -apvz --delete --stats --compress --progress $TARGET $TMPDIR
patch -R -p0 -d $TMPDIR < $DIFF_FILE
meld $TARGET $TMPDIR
Протестировано с помощью meld и вывода из bzr diff , поэтому скопировал это в / usr / bin и chmod 755, и я сделал это:
bzr diff | meld-diff
Результаты показывают, как ожидалось.
Я знаю, что вам не требуется инструмент сравнения, интегрированный в редактор, но я уверен, что вы можете избежать переключения контекста (от редактора к терминалу и обратно к редактору) после того, как узнаете немного о том, что может предоставить ваш редактор. И emacs, и vim поставляются с инструментами diff.
Для случая emacs вы будете использовать Ediff Mode (по умолчанию). Посмотрите эту вики-страницу или обратитесь к официальному руководству
Использовать emacs просто, просто наберите Alt + x
и наберите ediff
.
Вы можете использовать ediff для просмотра различий между ветками и ревизиями вашего хранилища (bzr, git, svn и т. Д.).