Используя cleartool, я могу найти все файлы, связанные с меткой, используя что-то вроде:
ct find -avobs -version "lbtype (Build-Label)" -print
Как найти все объекты, измененные (включая добавление и удаление) между двумя метками?
Используя cleartool, я могу найти все файлы, связанные с меткой, используя что-то вроде:
ct find -avobs -version "lbtype (Build-Label)" -print
Как найти все объекты, измененные (включая добавление и удаление) между двумя метками?
В ClearCase (в моей установке в разделе «Администрирование») есть построитель отчетов. В разделе «Элементы / метки» вы можете выбрать «Элементы, измененные между двумя метками» или «Версии, измененные между двумя метками», в зависимости от того, что вам нужно. Затем вы можете выбрать путь для анализа и выбрать две метки для сравнения.
После запуска процесса у вас есть возможность сохранить результаты в формате HTML, XML или CSV.
Есть другой способ сделать это, где LABEL1
- старый ярлык, а LABEL2
- последний. Проверьте дату создания меток и поменяйте их местами перед вводом команды, поскольку она печатает отрицание условного оператора &&
. Работает как по волшебству!
$(cleartool find $PWD -ver "!lbtype($LABEL1) && lbtype($LABEL2)" -print)
cleartool find . -type f -nxname -version "version(\main\LATEST) && !lbtype(LABEL_27_12_2016)" -print
- person Sergio M C Figueiredo; 30.12.2016
Как упоминалось в ответе на вопрос «Как искать файлы по метке "
cleartool find -all -element "{lbtype_sub(REL1)}" -print
является более простым и lbtype_sub
позволяет запросу быть истинным, если какая-либо версия элемента имеет метку
(см. _ 3_ справочная страница)
cleartool find -all -element '{lbtype_sub(REL1) && lbtype_sub(REL2)}' ^
-version '{!(lbtype(REL1) && lbtype(REL2)) && ^
(lbtype(REL2) || lbtype(REL1))}' -print
найдет все элементы, у которых нет обеих меток, перечислив все версии в текущем VOB с меткой REL1 или REL2, но не обе вместе.
Примечание: если метка является базовым уровнем UCM, это, конечно, еще проще (_ 5_):
ct diffbl -ver BL1@\myPVob BL2@\myPVob
Чтобы найти все элементы, в том числе удаленные или не выбранные вашей config_spec, добавьте –nvisible
к параметрам поиска.
Для сравнения у меня есть сценарий оболочки с именем freeze-list
, который более или менее запускает ту же команду поиска, что и вы (перенаправляя вывод на <label>.versions
).
Затем у меня есть несколько других сценариев 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.