Допустим, у меня есть два файла: File1
и File2
На диаграмме дерева версий ниже *
указывает версию моей рабочей копии, выбранную моей спецификацией конфигурации.
Деревья версий:
File1 разрабатывается на Branch2
, но теперь объединен в ветку main
| main |
|
(0)----| Branch2 |
| |
| (0)
| |
(1)*<------(1)
File2 находится на Branch2
с несколькими версиями
| main |
|
(0)----| Branch2 |
|
(0)
|
(1)
|
(2)*
Спецификация конфигурации:
#Pick up Branch2 LATEST unless it has an outgoing merge hyperlink type
element * {version(.../Branch2/LATEST)&&!hltype(Merge,->)}
element * /main/LATEST
Я бы хотел найти только те файлы, которые находятся на Branch2
, которые я сейчас просматриваю.
Я пробовал это:
cleartool find . -cview -type f -version "brtype(Branch2)" -print
Он возвращает каждую версию каждого файла, который находится на Branch2
.\File1@@\main\Branch2\0
.\File1@@\main\Branch2\1
.\File2@@\main\Branch2\0
.\File2@@\main\Branch2\1
.\File2@@\main\Branch2\2
Я бы хотел только
.\File2@@\main\Branch2\2
Какая команда (-ы) cleartool find
вернет в качестве результата только File2
, версию рабочей копии? Я бы предпочел однострочную команду многоступенчатому процессу.
Чтобы уточнить
Мне нужны только перечисленные файлы, которые Branch2
и выбраны в качестве моей рабочей копии в соответствии с моей спецификацией конфигурации. .\File2@@\main\Branch2\2
находится на Branch2
и выбран в качестве моей рабочей копии. В качестве моей рабочей копии выбрана .\File1@@\main\1
, которой нет на Branch2
и не должно быть в списке.