Как откатить файл, зарегистрированный в Clearcase?

У меня есть файл в моем хранилище Clearcase. Я проверил это и изменил это, и затем проверил это обратно.

Я не сделал ничего, как сделать базовую линию, или перебазировать, или доставить в своем потоке / представлении.

Я сожалею, что внес изменения в этот файл - я должен был отменить проверку, оглядываясь назад.

Как мне откатить модификации? (Или отменить, или отменить, или какова бы ни была правильная номенклатура.)

4 ответа

Решение

То, что описано в Sergei Kurenkov, может быть сделано в динамическом представлении с использованием расширенных путей

cd m:/myDynamicView/MyVob/path/to/file
cleartool lsvtree myFile
cleartool checkout -c "cancel co" myFile
copy myFile@@/main/xx myFile
cleartool checkin -nc myFile

с xx номер версии, которую вы хотите восстановить.


Но если вы сделали несколько проверок, в том числе те, которые хотите отменить, ClearCase позволяет отменить часть предыдущих проверок с помощью Субтрактивного слияния
Посмотрите IBM " чтобы удалить вклады некоторых версий " (и merge справочная страница)

Вы можете удалить все изменения сразу из нескольких версий. Например, следующая команда удаляет редакции версий с 14 по 16 в основной ветке:

  • В системе UNIX или Linux:
cleartool merge -graphical -to opt.c -delete -version /main/14 /main/16
  • В системе Windows:
cleartool merge -graphical -to opt.c -delete -version \main\14 \main\16

Вы также можете удалить изменения из одной версии за раз. Например, следующие команды удаляют только изменения в версии 14 из версии opt.c, извлеченной из текущего представления:

  • В системе UNIX или Linux:
cleartool merge -graphical -to opt.c -delete -version /main/14
  • В системах Windows:
cleartool merge -graphical -to opt.c -delete -version \main\14

Кроме того, в любом из приведенных выше примеров вы можете пропустить аргумент -version, если вы используете расширенный путь к версии для contributor-version-selector.


Наконец, единственное, чего не следует делать, это rmver,
Эта команда уничтожает информацию безвозвратно, и это редко бывает хорошо.

Clearcase может сделать намного лучше, чем просто сделать новую версию, где вы отменяете изменения! Откройте историю версий в вашем файле, найдите версию, в которой вы ошибочно отмечены, и уничтожьте ее (выберите версию для удаления и найдите соответствующую команду в меню "Версии"). Это то же самое, что делает rmver, если вы хотите использовать командную строку. Как сказал VonC, это уничтожает вашу ошибку безвозвратно. Я не вижу обратной стороны в этом.

Откройте историю версий для этого файла, затем откройте в своем редакторе правильную версию файла из дерева версий, проверьте файл еще раз, замените его содержимым предыдущей правильной версии и зарегистрируйтесь. Не забудьте сравнить предыдущую версия и последняя версия.

cleartool unco @filename должен сделать эту работу за вас.

Но если версия в основной ветке / ветке, из которой создана ваша ветка, продвигается вперед с версиями, когда вы отменяете проверку, новая версия приобретается вместо версии, из которой вы разветвились.

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