Первая возможность - попытаться выбрать правильную версию подкаталога для возврата, например:
element /path/to/directory /main/[branch]/[version]
Но это было бы неправильно, потому что:
расширенные имена путей не поддерживаются в представлении снимка, как объяснено в этом SO вопросе .
для выбора одного каталога недостаточно (файлы все равно будут выбраны в качестве последних версий, доступных в потоке!)
И в любом случае, это должно быть аккуратно добавлено в спецификацию конфигурации, потому что:
- вы не можете добавить правило выбора (элемент ...) где-либо в спецификации конфигурации:
- если вы поставите это правило в конце, оно будет проигнорировано (из-за предыдущих правил выбора, которые выбраны первыми)
- Если вы поставите его в начале, он будет работать до следующего появления «
setcs -stream
» (или при следующем нажатии «Синхронизировать с потоком»). В это время спецификация конфигурации представления UCM (снимок или динамический) восстанавливается (в соответствии с конфигурацией потока) и переопределяет ваше пользовательское правило.
Возможным решением будет изменение спецификации конфигурации представления снимка с помощью основанного на времени правила
(Он изменяет значение метки специальной версии LATEST
; правило выбирает из ветви последнюю версию, созданную до определенного времени;
см. cleartool man config_spec
):
# Add the following temporary rule only for your sub-directory and below
# (hence the '...')
element /aVob/myComponent/mySubDirectory/... .../STREAM_NAME/LATEST -time dd-Month-yyyy
element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." .../STREAM_NAME/LATEST
element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." FOUNDATION_BASELINE -mkbranch STREAM_NAME
element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." /main/0 -mkbranch STREAM_NAME
Только что протестировано в представлении UCM снимка: оно работает.
Адаптируйте формат даты к дате и времени, которые вам нужны, чтобы вернуть этот подкаталог в надлежащее состояние.