ClearCase:Как я могу вернуться к более раннему исходному состоянию?

StackOverflow https://stackoverflow.com/questions/606149

  •  03-07-2019
  •  | 
  •  

Вопрос

Как я могу вернуться к более раннему исходному состоянию?У нас есть проект параллельной (многопотоковой) разработки UCM.У каждого разработчика есть снимок потока интеграции проекта.Разработчики хотят видеть более раннюю версию приложения в своих представлениях снимков, чтобы они могли отлаживать раннюю версию приложения и находить ошибки.

Когда я хочу изменить базовые линии существующих представлений моментальных снимков, Clearcase не позволяет мне этого сделать.Итак, как я могу это сделать?

Это было полезно?

Решение

Поскольку вы используете термин «базовый уровень», я предполагаю, что вы используете UCM.

В потоке вы не можете вернуться к базовой линии назад.

Одна из возможностей — создать параллельный поток с желаемой базовой линией в качестве основы:это самый быстрый способ.


После изменений в этом новом потоке вы можете выполнить новое перебазирование, чтобы изменить базовый план, но только если это новое перебазирование использует более поздний базовый план из родительского потока (а не более старый базовый план).


Для ваших конкретных потребностей я бы рекомендовал просмотр снимков без UCM с помощью простого правила.

element * thePreviousBaseline

Для того, чтобы разработчик имел:

  • его/её текущее представление UCM для разработки (всегда устанавливается самое ПОСЛЕДНЕЕ из ветвей, связанных с потоком)
  • второй просмотр снимка настроен на любую базовую линию, которая ему/ей нужна.

Это второе представление снимка совершенно не связано с проектом UCM и использует «полный» характер базового плана (обязательно убедитесь, что ваш базовый план указан как «полный», а не как «добавочный»).Если он «инкрементный», просто измените его тип и обновите до полного)

Таким образом, помимо текущего представления UCM снимка, вы можете создать где угодно представление, отличное от снимка:

cleartool mkview -snap -tag mylogin_myComponentname_csl_snap -vws myPathToViewStorage myPathToRootView
cd myPathToRootView
cleartool edcs
[add the selection rule: element * myOlderBaseline]
[add the load rule at the end: 'load /myVob_Including_MyComponent]
[save, type 'yes']

Это нормально для консультации/исполнения, но если вам нужно исправить (то есть писать, зацените и в некоторых файлах), тогда бы рекомендовал один поток UCM для каждой базовой линии, требующей исправления.
Таким образом, поток четко отражает усилия по исправлению для заданного базового уровня.Их не должно быть слишком много, если только вы не запускаете в производство новую версию своего приложения каждые пять минут...что нежелательно ;)


Итак, подведем итог:

  • Просмотр моментального снимка, отличного от UCM, уникален и служит для быстрой консультации/отладки одной старой базовой версии за раз.
  • для исправлений (модификация исходного кода) вы создаете параллельный поток с соответствующим названием, с правильным базовым уровнем, а затем представляете для него UCM-представление.Вы можете не только отлаживать, но и исправлять некоторые ошибки в действии, а также доставлять это действие в основной поток Int, если эту ошибку необходимо доработать в более высоком потоке.
    (примечание:все баги не всегда нужно доставлять:они могут устареть по сравнению с текущим состоянием разработки)

Другие советы

Я решил эту проблему, создав еще один поток, дочерний поток потока интеграции.Самый простой способ создать этот поток — открыть обозреватель проекта ClearCase (не Rational ClearCase Explorer) и перейти к проекту, а затем к соответствующему потоку.Щелкните правой кнопкой мыши поток интеграции и выберите «Создать дочерний поток…».

Нажмите «Дополнительные параметры» и выберите базовый уровень для каждого компонента.Для этого выберите компонент, затем выберите «Изменить...» и выберите конкретную базовую линию, которую вы хотите увидеть.Вы, вероятно, хотите выбрать «побудить меня создать представление для этого потока». Выберите «ОК».

Это может сделать любой разработчик.Вам не обязательно быть владельцем VOB или владельцем проекта или потока.

Смотря как.На самом деле, ответ заключается в настройке вашей спецификации конфигурации, чтобы она указывала на правильные файлы.Ваша спецификация конфигурации сообщает вашему представлению, какие версии элементов следует просматривать.Но то, как вы это напишете, зависит от подхода вашего проекта к базовым показателям.Вы применили метку, чтобы отметить эту базовую линию?Если да, и если вы хотите только читать, а не извлекать что-то новое, ваша спецификация конфигурации может быть такой же простой, как

element * <LABELNAME>

Если вы не использовали метки, вы также можете настроить свою конфигурационную спецификацию так, чтобы файлы отображались по датам.Чем больше правил вам нужно добавить, чтобы ограничить выбор элементов, тем сложнее.Если у вас есть более подробная информация, я могу попытаться уточнить, какие правила вам могут понадобиться.В противном случае я бы прочитал инструкции, прилагаемые к ClearCase.Если вы просматриваете расширенную справку из ClearCase Explorer, а затем выполняете «Просмотр руководств Rational ClearCase в режиме онлайн», вы должны получить несколько ссылок на ссылки на команды.Сюда я обращаюсь всякий раз, когда мне нужно каким-то новым образом изменить свою конфигурационную спецификацию.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top