Вопрос шаблона управления основной магистралью ClearCase UCM - PullRequest
1 голос
/ 01 июня 2010

Вопрос шаблона управления конфигурацией (с помощью Rational ClearCase UCM)

Когда я использую основной подход, я создаю новые выпуски:

  • создать релиз 1 из основной линии
  • в определенный момент базовый выпуск 1, доставить выпуск 1 на основной
  • создать релиз 2 из основной линии
  • в определенный момент, базовый выпуск 2, доставить выпуск 2 на основную линию
  • создать выпуск 3 из основной линии
  • и т.д ...

Работает очень хорошо, потому что путь /main/release 3/latest вместо /main/release 1/release 2/release 3/latest и т.д ...

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

Единственное, что я могу сделать - это доставить / объединить непосредственно с выпуска 1 до выпуска 2.
Плохо то, что путь для этих файлов становится /main/release 1/release 2/latest (и, возможно, более поздними выпусками). То есть я думаю, что это не соответствует основному подходу.

Что я делаю не так?

перекрестно на: http://www.cmcrossroads.com/forums?func=view&catid=31&id=99369#99369 перекрестно на: https://www.ibm.com/developerworks/forums/thread.jspa?threadID=330226

1 Ответ

0 голосов
/ 01 июня 2010

Это известно как каскадное ветвление симптом.

В вашем случае, однако, всякий раз, когда появляются "новые элементы, которые необходимо распространить в более поздних выпусках", вы должны иметь возможность доставлять их напрямую из release1 в release2 с каскадом, ограниченным глубиной двух уровней.

Если это неприемлемо, вам нужно настроить свои потоки, чтобы иметь «глобальный поток» выше mainline и выше релизов:

mainStream
  mainline
  release1
  release2
  ...

Вы можете использовать mainStream в качестве источника, из которого вы распространяете изменения: clearfsimport release2 в mainStream, импортируйте / доставьте несколько файлов release1 для распространения, сделайте (снова) базовый уровень «release2» и перебазируйте его в потоке release2.

  • на минусовой стороне, вам нужно повторять процесс для каждого выпуска.
  • с положительной стороны, по крайней мере, каждый clearfsimport (на mainStream) является "достаточно быстрым", потому что разница между выпусками не слишком важна.
...