Разница между двумя версиями в динамическом представлении ClearCase - PullRequest
1 голос
/ 02 декабря 2010

Скажем, у меня есть два разных динамических представления в ClearCase.

Хотелось бы узнать, есть ли какая-нибудь команда для выдачи отчета:

Ответы [ 4 ]

3 голосов
/ 24 октября 2012

Как я уже говорил ранее, вы можете использовать

cleartool diff -serial_format prog.c prog.c@@\main\4

Это отформатирует разницу для просмотра всей строки, а не только начала.

3 голосов
/ 04 декабря 2010

Да, вы можете использовать diffstat , чтобы получить очень хороший визуальный обзор "добавлено x строк, удалено y строк, изменено z строк" (1).

Вот примеррезультата сравнения двух последних версий diffstat:

$ diff -u diffstat-1.53 diffstat-1.54 | diffstat
 CHANGES    |   12 +++++++++++-
 diffstat.1 |    4 ++--
 diffstat.c |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 3 files changed, 64 insertions(+), 9 deletions(-)

В вашем случае выполните команду

diff -u /view/VIEW1/SOMEVOB/some/dir_or_file /view/VIEW2/SOMEVOB/some/dir_or_file | diffstat

(1) На самом деле «z линий изменены» невозможноопределить без анализа смысла линий (а компьютерный алгоритм не может этого сделать).Например, если старая строка int x;, а новая строка int y;, это a) x изменено на y или b) x удалено и y добавлено?

1 голос
/ 02 декабря 2010

Для динамических представлений вы можете использовать расширенные имена путей с cleartool diff .

Эта страница справки " Для сравнения с версией, отличной от предшественника ", предоставляет все детали:

cleartool diff prog.c prog.c@@\main\4

cleartool diff не даст вам именно то, что вы хотите, если вы ищете только сводку (отображает только количество добавленных, удаленных и измененных строк):

Отчет о сравнении файлов по умолчанию начинается со сводки файлов, в которой перечислены все входные файлы и их назначения в виде file 1, file 2 и т. Д.
Если между файлами не обнаружено различий, этот список заменяется сообщением Файлы идентичны.

Остальная часть отчета представляет собой серию попарных различий, каждой из которых предшествует описательная строка заголовка:

******************************** (file summary)
<<< file 1: util.c@@/main/1
>>> file 2: util.c@@/main/3
********************************
----------[after 15]------|-------[inserted 16]------ (header)
                          | char *s;        (difference)
                                                    |-
---------[changed 18]-----|----[changed to 19-21]---- (header)
return ctime(&clock);     | s = ctime(&clock); (difference)
                       -  | s[ strlen(s)-1 ] = '\0';
                          | return s;
                          |-

Примечание:

отчет с добавлением x строк, удалением y строк, изменением z строк между двумя версиями

Нет, не с cleartool diff: формат diff не включает в себя чистый стиль сводки.

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

0 голосов
/ 02 декабря 2010
...