ClearCase: загрузка старой версии определенного каталога?

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

1 ответ

Решение

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

element /path/to/directory /main/[branch]/[version]

Но это было бы неправильно, потому что:

  • расширенные имена путей не поддерживаются в представлении снимка, как объяснено в этом вопросе SO.

  • одного выбора каталога недостаточно (файлы все равно будут выбраны в качестве последних версий, доступных в потоке!)

И в любом случае, это должно быть тщательно добавлено в спецификации конфигурации, потому что:

  • Вы не можете добавить правило выбора (элемент...) где-либо в спецификации конфигурации:
    • если вы поставите это правило в конце, оно будет проигнорировано (из-за предыдущих правил выбора, которые выбраны первыми)
    • если вы положите его в начале, он будет работать до следующегоsetcs -streammsgstr "вхождение (или в следующий раз, когда вы нажмете" Синхронизировать с потоком "). В это время спецификация конфигурации представления 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 снимка: это работает.
Адаптируйте формат даты к дате и времени, которые вам нужны, чтобы вернуть этот подкаталог в надлежащее состояние.

Другие вопросы по тегам