Inlight 04.09.2012 16:12
Есть вопрос! — Аналог "Reporting" WinMerge-а
В WinMerge есть встроенная возможность генерировать отчёт с результатами сравнения (Инструменты - Создать отчёт, статья в мануале). Есть ли похожая возможность в какой-либо утилите сравнения под Ubuntu? Сейчас пользуюсь Meld, до этого пробовал DiffMerge и Diffuse, но ни в одной из них не видел такой функции.
kstep 04.09.2012 17:05 #
+ 0 -
Чем не устраивает diff -u file1 file2 > report.diff?
Сравниваются исходики, соответственно необходимо содержимое файлов до и после + цветные пометки измененных участков. В общем, выглядит это как окно WinMerge, только в формате html.
diff -u file1 file2 | pygmentize -f html -l diff -O full > report.html
pygmentize надо ставить отдельно, скорее всего, но оно того стоит: универсальная раскрашивалка синтаксиса.
И да, я не знаю что там у вас в WinMerge-ах, да и под виндой никогда не юзал такие тулзы, всё больше обычный diff из cygwin-а. Можешь пример живой выложить?
Сходу vimdiff такое делает. Потому меня такой функционал никогда не интересовал. А вообще я предпочитаю работать с unified diff форматом (тот, который выдаёт diff -u), мне так, как тебе, просто неудобно, так что вряд ли ещё чем помогу.
Meld красиво показывает, но не делает отчётов.
Вот Guiffy делает отчёты как раз в HTML. Eskil может сохранять в PDF.
Вот Guiffy делает отчёты как раз в HTML. Eskil может сохранять в PDF.
Eskil очень неплох, но не нашёл, как можно сравнить файлы, просто вставив их. Кнопка "Redo diff" не доступна. А так, в качестве замены стандартного диффера и если ajhvfn PDF приемлем - довольно неплохая утилита
Cпасибо, использование vimdiff очень близко к тому, что мне нужно по функциональности. Сделал себе командный файл
Теперь можно использовать вместо P4Merge, добавив в настройках в качестве аргументов командной строки
-O %1 %2 -s /home/username/commands.vim. При сравнении будет сразу создаваться файл отчёта ~/diff.html
Ссылка на схему lightdiff
Полезная статья Generate side-by-side diffs in html using vim
Теперь можно использовать вместо P4Merge, добавив в настройках в качестве аргументов командной строки
-O %1 %2 -s /home/username/commands.vim. При сравнении будет сразу создаваться файл отчёта ~/diff.html
Ссылка на схему lightdiff
Полезная статья Generate side-by-side diffs in html using vim
Могу добавить пару копеек к этой инструкции:
1) Двоеточие перед командами в командном файле не нужно.
2) В разделе, где он описывает использование gvim-сервера для генерации отчётов, я бы завернул все команды, которые он издаёт удалённо, в одну вимовскую функцию или команду с парой аргументов (имена файлов), и вызывал бы удалённо только эту функцию, дело бы пошло ещё быстрее.
1) Двоеточие перед командами в командном файле не нужно.
2) В разделе, где он описывает использование gvim-сервера для генерации отчётов, я бы завернул все команды, которые он издаёт удалённо, в одну вимовскую функцию или команду с парой аргументов (имена файлов), и вызывал бы удалённо только эту функцию, дело бы пошло ещё быстрее.