ClearCase: загрузка старой версии определенного каталога?
Как я могу загрузить более старую версию каталога в виде снимка UCM? В нашем проекте один разработчик зарегистрировал некомпилированный и не компилируемый код в ClearCase. Другой разработчик обновил ее мнение, после чего он не компилировал проект из-за не скомпилированного кода предыдущих разработчиков. Поэтому разработчик хочет получить только предыдущую версию каталога. Как я могу сделать это в представлении snahpshot и только для определенного каталога?
1 ответ
Первой возможностью было бы попытаться выбрать правильную версию подкаталога для восстановления, например:
element /path/to/directory /main/[branch]/[version]
Но это было бы неправильно, потому что:
расширенные имена путей не поддерживаются в представлении снимка, как объяснено в этом вопросе SO.
одного выбора каталога недостаточно (файлы все равно будут выбраны в качестве последних версий, доступных в потоке!)
И в любом случае, это должно быть тщательно добавлено в спецификации конфигурации, потому что:
- Вы не можете добавить правило выбора (элемент...) где-либо в спецификации конфигурации:
- если вы поставите это правило в конце, оно будет проигнорировано (из-за предыдущих правил выбора, которые выбраны первыми)
- если вы положите его в начале, он будет работать до следующего
setcs -stream
msgstr "вхождение (или в следующий раз, когда вы нажмете" Синхронизировать с потоком "). В это время спецификация конфигурации представления 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 снимка: это работает.
Адаптируйте формат даты к дате и времени, которые вам нужны, чтобы вернуть этот подкаталог в надлежащее состояние.