4

Мне нужна программа с графическим интерфейсом для Linux (Ubuntu Karmic), такая как tkdiff, которая может отображать 2 файла бок о бок и выделять разные строки, и она принимает несколько пар файлов в командной строке, но отображает только одну пару файлов в время, и позволяет мне перейти к следующей или предыдущей паре файлов, нажав клавишу. Какая программа лучше для этого?

Я попытался tkdiff и сливаться, но это , кажется, невозможно указать более 2 файлов для них в командной строке.

6 ответов6

2

Я также боролся с многопарными разностями TkDiff. Пока мне только удалось получить очень бесполезное:

Error: you specified 6 file(s) and 0 revision(s)

... но я добавлю свой опыт и некоторые заметки здесь.

Выполнять здесь на работе уже делает правильную вещь для меня.

Вот что говорит ps для работающего многопарного сравнения Perforce (я переместил каждый отдельный элемент argv на свою строку):

wish
/tools/eng/perforce/tkdiff.tcl
--
:
/tmp/g4-60077/cache/depot/path/to/file1#740
/home/douglasdd/work/src1/path/to/file1
:
/tmp/g4-60077/cache/depot/path/to/file2#15
/home/douglasdd/work/src1/path/to/file2

Исходя из этого, я предполагаю, что часть того, чего не хватает в ответе Леона выше, это «-» и «:» перед первой парой файлов. Но этого недостаточно.

Наша исполняемая версия TkDiff очень старая (3.0x), поэтому я пытаюсь использовать мою локально установленную версию 4.1.x. Но пока не повезло ...

Вручную работает это работает:

wish /tools/eng/perforce/tkdiff.tcl -- : "/tmp/g4-60077/cache/depot/path/to/file1#740" /home/douglasdd/work/src1/path/to/file1 : "/tmp/g4-60077/cache/depot/path/to/file2#15" /home/douglasdd/work/src1/path/to/file2

Но запустить его вручную не удается:

wish /usr/local/bin/tkdiff -- : "/tmp/g4-60077/cache/depot/path/to/file1#740" /home/douglasdd/work/src1/path/to/file1 : "/tmp/g4-60077/cache/depot/path/to/file2#15" /home/douglasdd/work/src1/path/to/file2

... с ужасом

Error: you specified 6 file(s) and 0 revision(s)

Из чего я заставляю себя задаться вопросом, есть ли у Perforce своя собственная взломанная версия TkDiff??

Извините, это не очень помогает.

1

Попробуйте организовать сравнение файлов с одинаковым именем в разных каталогах, т. Е. Сравнить foo/file1 с bar/file1 , foo/file2 с bar/file2 и т.д. Вы можете использовать символические ссылки. Затем используйте инструмент сравнения, который понимает сравнение каталогов. Emacs является одним из таких инструментов (меню «Инструменты / Сравнить / Две директории» или M-x ediff-directories).

0

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

tkdiff a.1 a.2 : b.1 b.2 : c.1 c.2
0

Мне нравится kdiff3, он может делать 2 или 3 файла - и может сравнивать каталоги.

0

Поскольку никто не может предложить инструмент, который соответствует моим требованиям, скорее всего, нет.

-1

meld - очень хорошая утилита для различения разных файлов и даже структур каталогов.

Для различий между несколькими файлами:

meld $file1 $file2 $file3

Различаться между двумя разными каталогами:

meld $dir1 $dir2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .