Clearcase UCM: создает ли операция слияния какие-либо зависимости между ветвями - PullRequest
2 голосов
/ 09 июля 2009

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

Скажем, у нас есть проекты A B и C, B и C, основанные на разных базовых показателях A. Можно ли выполнять слияния между B и C в обоих направлениях от B до C и наоборот, не создаст ли это проблемы позже?

В моей конкретной ситуации у меня есть слияния версий от A до B, от B до C, и теперь я хочу слить из C в B. A в багажнике, C зависит от установки, а B зависит от клиента. В конечном итоге мы откажемся от C, когда у клиента будет развернута более новая сборка. Но сейчас есть ситуация (по ошибке), что некоторые изменения объединяются из A в C в обход B. Изменения должны были пройти A -> B -> C. Проблема в том, что некоторые объединения от A до C были нетривиальными, и я не хочу повторять работу ручного слияния от А до Б. Кажется, для этих версий проще просто объединиться из C в B. Это нормально?

Спасибо!

1 Ответ

2 голосов
/ 09 июля 2009

B и C основаны на разных базовых показателях A. Можно ли выполнять слияния между B и C в обоих направлениях от B до C и наоборот

То, что вы описываете, называется боковые слияния , и вы можете видеть (по ссылке), что они идут с ценой: слияния, вероятно, в какой-то момент будут нетривиальными.

В вашем случае, однако, если B не коснулся файлов, которые были объединены (с нетривиальным разрешением) от A до C, то слияния от A до B должны быть тривиальными (простая копия версии, хранящейся в A на вершина одного в B)
Путем слияния из V в B вы могли бы включить потенциальные модификации из C, которые вам пришлось бы исключить во время этого слияния.

В более общем смысле вы можете перебазировать / доставить в любом порядке, в котором вы хотите, но некоторые рабочие процессы могут быть подключены к полученным нетривиальным слияниям, если они следуют шаблону "sideway", как иллюстрирует предыдущая ссылка.

...