ClearCase: загрузка старой версии определенного каталога? - PullRequest
2 голосов
/ 11 марта 2009

Как я могу загрузить более старую версию каталога в виде снимка UCM? В нашем проекте один разработчик зарегистрировал не скомпилированный и не скомпилированный код в ClearCase. Другой разработчик обновил ее мнение, после чего он не компилировал проект из-за не скомпилированного кода предыдущих разработчиков. Поэтому разработчик хочет получить только предыдущую версию каталога. Как я могу сделать это в представлении snahpshot и только для определенного каталога?

1 Ответ

3 голосов
/ 11 марта 2009

Первая возможность - попытаться выбрать правильную версию подкаталога для возврата, например:

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 снимка: оно работает.
Адаптируйте формат даты к дате и времени, которые вам нужны, чтобы вернуть этот подкаталог в надлежащее состояние.

...