Clearcase UCM: изменение базы данных из родительского проекта приводит к потере файлов в представлении интеграции

Мы перешли с Base CC на UCM, но это не могло быть сделано сразу. Мы выполнили clearfsimport из Base в UCM, а затем создали проект Prod, основанный на базовых планах после импорта.

С тех пор мы создали другие проекты, используя самую последнюю базовую версию (Prod_1) от Prod. Недавно нам пришлось перенести еще один «Проект» из Базы в UCM. Базовый план только что импортированного проекта был доставлен в поток интеграции Prod.

Это дает нам что-то такое:

  • Продукт [Проект]

    • BL Prod_1 (created from initial Base -> UCM import) [Baseline]
      • Release_2 [Project]
        • BL Release_2_1 (Created from changes in Release 2) [Baseline]
    • BL Prod_2 (созданный из второй базы -> импорт UCM) [Baseline]

Чтобы уловить изменения от BL Prod_2 в Release_2, мы выполнили расширенное ребазирование Release_2_Integration и выбрали BL Prod_2. Он завершился и сказал, что у нас нет версий, требующих слияния.

Однако похоже, что существующий поток интеграции был полностью «перезаписан» BL Prod_2 и потерял все изменения, которые в настоящее время находятся в Release_2_Integration.

Если вы посмотрите на дерево версий «отсутствующих» элементов, вы увидите, что они являются частью базовой линии, созданной в Release_2_Integration после перебазирования, даже если они не находятся в недавно обновленном представлении Release_2_Integration.

Есть ли у кого-нибудь предложения, как это сделать? У меня есть предварительная поставка BL в Release_2, поэтому я могу легко создать новый проект на его основе.

Не лучше ли было бы создать единый проект «Приложение», используя (под) потоки для каждого выпуска / рабочего усилия?

Спасибо!


person bcrook88    schedule 03.04.2014    source источник


Ответы (1)


Сделали clearfsimport из Base в UCM

Вам не всегда нужно: вы можете создавать компоненты в любом vob (связанном с администратором pvob)

мы сделали Advanced Rebase на Release_2_Integration и выбрал BL Prod_2.

(Advanced rebase означает CCRC, верно?)

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

person VonC    schedule 04.04.2014
comment
Под Advanced Rebase я имею в виду, что мы перебазировали проект, но выбрали Advanced и выбрали другой базовый план. В проекте не было обнаружено, что для проекта Prod существует новая базовая линия, поэтому мы вручную взяли ее. Под другим проектом вы имеете в виду создание проекта с новым Prod BL и перебазирование с использованием Release 2? Спасибо за вашу помощь с этим. - person bcrook88; 04.04.2014
comment
@ bcrook88 Я имею в виду создание нового проекта и перебазирование пустого потока интеграции непосредственно с правильным BL. - person VonC; 04.04.2014
comment
Извините, я немного медленный. Новый пустой проект, переустановить его на Prod BL, а затем доставить изменения Release 2? Или наоборот. Цель состоит в том, чтобы объединить прод и релиз. - person bcrook88; 04.04.2014
comment
@ bcrook88 нет, перебазировать напрямую с BL, который представляет Release 2: в потоке интеграции вы можете перебазировать с BL, исходящим из любого потока, который вы хотите. Но если вы хотите слиться, то да, доставка Release 2 будет правильной. - person VonC; 04.04.2014
comment
Что нам действительно нужно, так это включить обновленный производственный код в наш код выпуска. Выполнение перебазирования в потоке интеграции выпусков и выбор новейшего производственного потока - вот что в первую очередь вызывало проблемы. Выполнение доставки из Prod в поток интеграции проекта выпуска привело к аналогичной ситуации, когда изменения выпуска были потеряны. Спасибо за вашу постоянную помощь .... - person bcrook88; 04.04.2014
comment
Мы провели тест, в ходе которого поставили базовую версию продукта в поток новых выпусков, но не напрямую в поток интеграции. Мы создали субпоток и отправили в него. В конце операции доставки все файлы, которые являются новыми в потоке Release, были показаны как «невидимые» и были пропущены. - person bcrook88; 04.04.2014
comment
@ bcrook88 Кажется, что доставка фактически отменяет то, что находится в Release Stream. Вместо того, чтобы выполнять доставку, я бы рассмотрел простой clearfsimport вашего Prod Baseline в представление потока выпуска: любой измененный файл в prod переопределит файлы в потоке выпуска, но, по крайней мере, любые новые файлы в потоке выпуска все равно будут. - person VonC; 04.04.2014
comment
Большое спасибо за Вашу помощь. Я думаю, что перенос этих импортированных файлов в ветку Prod заставил Clearcase подумать, что они новее и важнее. Я надеюсь, что как только мы углубимся в правильный цикл, он станет более плавным. - person bcrook88; 05.04.2014