ClearCase: как я могу вернуться к более ранней базовой линии? - PullRequest
5 голосов
/ 03 марта 2009

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

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

Ответы [ 3 ]

6 голосов
/ 03 марта 2009

Поскольку вы используете термин «базовый уровень», я предполагаю, что вы используете 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, если эту ошибку необходимо повторно установить в более высоком потоке.
    (примечание: не все ошибки должны быть устранены: они могут быть устаревшими по сравнению с текущим состоянием разработки)
2 голосов
/ 03 марта 2009

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

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

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

1 голос
/ 03 марта 2009

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

element * <LABELNAME>

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

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

...