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

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

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

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

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


person JXG    schedule 27.01.2010    source источник


Ответы (3)


Что описано в skwllsp можно выполнить в динамическое представление с помощью расширенные пути

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" для удаления вкладов некоторых версий "(и _ 3_ справочная страница)

Вы можете удалить все изменения сразу в нескольких версиях. Например, следующая команда удаляет ревизии версий с 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, если вы используете расширенный путь версии для селектора-исполнителя-версии.


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

person VonC    schedule 27.01.2010
comment
Когда вы говорите, что уничтожает информацию безвозвратно, вы имеете в виду только информацию, относящуюся к последней регистрации (которая в любом случае была неверной), верно? В таком случае, почему вы говорите, что это редко бывает хорошо? В конце концов, регистрация была ошибкой, так что же плохого в том, чтобы исключить существование этих версий? Пожалуйста, поделитесь своими знаниями. - person Arvindh Mani; 09.12.2014
comment
@ArvindhMani Я говорю о любой версии, которую вы бы rmver. И это приведет к тому, что гиперссылки останутся висящими (или также будут удалены), что может поставить под угрозу целостность других объектов (например, полную базовую линию UCM). Если в последней версии нет гиперссылки и на нее не ссылается другой объект, тогда rmver - это решение. - person VonC; 09.12.2014
comment
@ArvindhMani Проблема в том, что, хотя он может работать в вашем случае, все, что вы помните, это то, что rmver работает ... что приведет к тому дню, когда rmver будет использоваться неосторожно и нанесет еще больший ущерб. Вот почему я предпочитаю ограничивать его использование. - person VonC; 09.12.2014
comment
в моей системе нет команды copy. Что вы имеете в виду под copy? - person xxks-kkk; 07.12.2016
comment
@Jerry Попробуйте вместо этого cp. copy для Windows. - person VonC; 07.12.2016
comment
@Vonc Можно ли это сделать из дерева версий? Слияние конкретной версии с проверенной версией с помощью графического интерфейса дерева версий? - person Jozef; 17.07.2018
comment
@Jozef Да, при условии, что ваше дерево версий запускается из целевого представления (где версия проверяется) - person VonC; 18.07.2018

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

person Community    schedule 28.01.2010
comment
@Kathy: вы не видите обратной стороны, но это очень очень плохое решение. Единственное, чего ты никогда не сделаешь. Несмотря на то, что в этом случае это может сработать, лучше запретить своим пользователям когда-либо выполнять rmver. Всегда. Поскольку это работает здесь, означает, что однажды они будут использовать его снова в ситуации, когда он сломает все виды вещей. Серьезно: не делайте этого. - person VonC; 28.01.2010
comment
FWIW, в моей личной ситуации у меня нет прав на удаление файлов таким способом. - person JXG; 28.01.2010

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

person Community    schedule 27.01.2010
comment
Это лучшее, что умеет CC? Ой. (Я новичок в CC, последние 5 лет использовал исключительно svn.) - person JXG; 27.01.2010
comment
Я знаю, что это старый, но я согласен с JXG (я тоже использовал SVN в течение последних 6 лет и CVS в течение многих лет до этого) ... лучшее, что может сделать CC? Предположим, вам нужно отменить изменение, и это затронуло около 30 с лишним файлов во многих каталогах. Почему бы ему не отменить изменения из этого типа команды проверки? - person Jon; 23.08.2012