Чтобы предоставить некоторый контекст, я пытаюсь написать скрипт, который возьмет текстовый файл с элементами clearcase в нем и пометит все эти элементы.
Для создания текстового файла я в основном использую следующую команду:
cleartool find -a -nxn -ele "brtype(branchName)" -print > "textfile.txt"
Затем я просматриваю текстовый файл и удаляю элементы, которые не хочу маркировать. Последним шагом будет загрузка текстового файла в сценарий, который будет многократно вызывать команду cleartool в каждой строке файла.
Для всех существующих файлов / папок я могу запустить эту команду:
cleartool mklabel -rep "label_name" (element_path)
Проблемы возникают с файлами, которые были добавлены в ветку. Они распечатываются в текстовый файл в формате, который не распознается командой «mklabel», и я не могу найти хороший способ их разобрать.
Формат файлов аналогичен следующему:
\original_folder_path@@\branch_name\version_number\new_sub_folder_path\branch_name\version_number\file_name.java
Раньше я использовал эту общую команду, которую мы используем в моей компании, чтобы вслепую маркировать все файлы в ветке:
cleartool find -all -branch "brtype(<branch>)" -version "version(.../<branch>/LATEST) && !version(.../<branch>/0)" -visible -exec "cleartool mklabel -rep <label_name> %CLEARCASE_XPN%"
Но я хочу пометить только половину файлов в ветке, которую я использую, а их слишком много, чтобы пометить их по отдельности. Я уверен, что упускаю здесь что-то очевидное. Кто-нибудь знает, как мне изменить мою команду find или mklabel, чтобы разместить новые файлы и папки?