Clearcase UCM: как найти версии в потоке A, созданные путем объединения из потока B

У меня есть 3 проекта A, B на основе A, C на основе A.

Изменения A сначала должны быть объединены с B, а затем с B на C. Есть также изменения в B, не влияющие на A, но некоторые из этих изменений должны быть объединены в C.

Есть некоторые изменения из A, которые были неправильно объединены напрямую из A в C, минуя B. (Я использую слово "объединено", потому что нам нужно было объединить их вручную, потому что автоматическая доставка будет включать в себя множество действий, которые нам не нужны доставить в B и C).

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

Спасибо

1 ответ

Решение

перечислить все версии в C, которые были созданы путем слияния с A

Эти версии должны быть перечислены в операции слияния, которую вы должны создать при слиянии непосредственно из А в С (используя findmerge, Я предполагаю).

Единственная проблема заключается в том, что вы создали специальное действие "слияния" во время этого findmerge?
Возможно, вы просто повторно использовали текущее действие на C, что означает, что действие будет содержать версии из текущей работы на C, а также версии, объединенные с A.

Другой подход состоит в том, чтобы объединить те же самые действия (те, которые связаны с поиском слияния из A в C) из A в B.
Следующее "нормальное" слияние из B в C будет:

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

Я не использовал его для этих слияний, делал это из инструмента дерева версий GUI, создавая идентичные действия в C для соответствующих действий в A и объединяя файл за файлом.

Если у вас есть только один или два файла для объединения, findmerge это команда для использования, потому что:

  • может принимать во внимание одно или несколько действий
  • и он не связан теми же "зависимостями действий", что и те, которые применяются в операции UCM "доставить" или "перебазировать".

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

Другие вопросы по тегам