Найдите изменения между маркировками

Используя cleartool я могу найти все файлы связанными с маркировкой с помощью чего-то как:

ct find -avobs -version "lbtype (Build-Label)" -print

То, как я нахожу все объекты измененными (включая добавляет и удаляет) между двумя маркировками?

7
задан brainimus 17 March 2010 в 13:10
поделиться

3 ответа

В ClearCase (в моей установке в разделе «Администрирование») есть построитель отчетов. В разделе «Элементы / метки» вы можете выбрать «Элементы, измененные между двумя метками» или «Версии, измененные между двумя метками», в зависимости от того, что вам нужно. Затем вы можете выбрать путь для анализа и выбрать две метки для сравнения.

После запуска процесса у вас есть возможность сохранить результаты в формате HTML, XML или CSV.

7
ответ дан 6 December 2019 в 12:48
поделиться

Как упоминалось в ответе на « Как искать файлы по метке »

cleartool find -all -element "{lbtype_sub(REL1)}" -print

проще и lbtype_sub позволяет считать запрос истинным, если какая-либо версия элемента имеет метку
(см. query_language страницу руководства )

cleartool find -all -element '{lbtype_sub(REL1) && lbtype_sub(REL2)}' ^ 
  -version '{!(lbtype(REL1) && lbtype(REL2)) && ^
  (lbtype(REL2) || lbtype(REL1))}' -print 

найдет все элементы, которые не имеют обе метки, перечисляющие все версии в текущем VOB с меткой REL1 или REL2, но не обе вместе.

Примечание: если метка является базовой линией UCM, это, конечно, еще проще ( ct diffbl ):

ct diffbl -ver BL1@\myPVob BL2@\myPVob
4
ответ дан 6 December 2019 в 12:48
поделиться

Чтобы найти все элементы, в том числе удаленные или не выбранные с помощью config_spec, добавьте –nvisible к параметрам поиска.

Для сравнения у меня есть сценарий оболочки под названием freeze-list , который более или менее запускает ту же команду find, что и вы (перенаправление вывода на ) .

У меня есть еще несколько скриптов Perl, которые берут два таких файла, читают их и сравнивают каждый элемент. Например, у меня есть freeze-compare-text для простого вывода diff -u , freeze-compare-kdiff3 для запуска сравнения kdiff3 в каждом файле, где есть некоторые изменения (с некоторым интеллектом, чтобы избежать ложных срабатываний, когда элемент 0 в новой ветке совпадает с начальной версией и т. д.). И еще у меня есть freeze-compare-diffstat (в основном передающий вывод в diffstat).

Если вы просто заинтересованы в поиске изменений между метками в качестве единовременной операции, вы можете запустить

ct find -avobs –nvisible -version "lbtype(label1)" -print | sort > label1.versions
ct find -avobs –nvisible -version "lbtype(label2)" -print | sort > label2.versions
comm -3 label1.versions label2.versions

, который перечислит все элементы, у которых нет одинаковых версий в label1 и label2.

0
ответ дан 6 December 2019 в 12:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: