Можем ли мы опустить элемент * /main/LATEST в спецификации конфигурации проекта base clear case?
В базовом проекте, который у меня есть, спецификация конфигурации передана мне так:
element * CHECKEDOUT
element * .../PROJ_1.5.0/LATEST
element * .../main/LATEST -mkbranch PROJ_1.5.0
element * /main/LATEST
Я немного ознакомился со спецификациями конфигурации здесь, в его руководстве: http://www.philforhumanity.com/ClearCase_Support_17.html Мне кажется, что в моей спецификации конфигурации последняя строка не имеет значения. Так как element * /main/LATEST
уже там на второй последней строке. Правильно ли мое понимание?
2 ответа
Эта последняя строка является ограничителем правила выбора: это правило, которое всегда будет выбрано, если все остальные не пройдут.
(Это было бы потому, что всегда есть ветвь с именем main
- если вы не переименовали его, но это редко - и всегда, по крайней мере, версия 0
- местозаполнитель - для каждого элемента, добавляемого в элемент управления исходным кодом в ClearCase)
Поэтому важно иметь это.
Предположим, что каталог вообще не выбран (по любому из других правил), все содержимое этого каталога будет невидимым, даже если подкаталоги и их содержимое могли быть выбраны по одному из правил.
Но с element * /main/LATEST
, вы уверены, что все элементы будут видны, в версии, выбранной по вашим правилам, или, по умолчанию, в /main/LATEST
,
При этом, перечитывая вашу конфигурационную спецификацию, вы можете заменить две последние строки на:
element * /main/LATEST -mkbranch PROJ_1.5.0
.../main/LATEST
не имеет смысла: это означает, что "main идет из любой другой ветки", а это не то, что вы видели бы в обычной спецификации конфигурации: все остальные ветки происходят из main, а не наоборот.
Таким образом, с этим последним правилом, вы не только уверены, что увидите все элементы, но если вы извлечете их, вы создадите и перейдете в ветку. PROJ_1.5.0
,
Если вы не хотите видеть файлы из main/LATEST, которых нет в вашей ветке, используйте
element -directory * /main/LATEST
Тогда видны только каталоги из main/LATEST и файлы из вашей ветки.