cleartool find
действительно, в сочетании с директивой -exec
с использованием cleartool describe
и -fmt_ccase
.
или простоlshistory с тем же fmt_ccase
cleartool lshistory -fmt "\tElement: %-13.13En Version: %Vn\n" util.c
Element: util.c Version: /main/rel2_bugfix/1
Element: util.c Version: /main/rel2_bugfix/0
Element: util.c Version: /main/rel2_bugfix
Это все равно будет включать версию, хотя: вам нужно постобработать результат, чтобы избавиться от окончательной версии /x
, когда она существует
Что-то вроде:
cleartool lshistory -fmt "%Vn\n" util.c|sed "s,/[0-9]\+,,g"
OP Derrick предлагает в комментариях более простой вариант :
cleartool lsvtree aFile | grep -v '\[0-9]\+$'
Явсе еще ищем детерминистический (без предположений об именовании) способ найти все ветви для определенного файла / каталога
Любая запись в lsvtree
, в которой есть элемент '0', является ветвью.
O
- это плацостер для новых версий ветки .
См. " Стандартно ли путь в прозрачном регистре - '@@
' и строка после этого "
Пример (в динамическом представлении):
ls .@@\main\4.6.0
0
ls .@@\main\4.6.0\0
(nothing)
Следовательно, \main\4.6.0
является ветвью.