Доставить слияние автоматически
Мое требование касается доставки в открытом виде: я хочу автоматизировать процесс доставки (без ручного вмешательства / без сбоев доставки): при доставке - если есть проблема слияния 1. Если CC может объединять файлы, то это хорошо, пусть сливаются, 2.if CC не может объединиться - я не хочу, чтобы он потерпел неудачу, вместо этого давайте не будем объединять этот конкретный файл (отменить объединение для этого файла), перейдем к следующим файлам. 3. Перечислите пропущенные файлы, чтобы я мог вручную объединить их позже.
Я сомневаюсь, что мы можем сделать это за один шаг, но дайте мне знать, если это возможно, и процесс, чтобы сделать это.
2 ответа
Вы можете нажать "Пропустить все" во время слияния, но вам придется разрешить их так или иначе.
Самый простой способ - убедиться, что эти файлы в первую очередь не рассматриваются для слияния (см. Ниже).
Но нет собственного способа автоматизировать описанный вами процесс:
При доставке, если есть проблема слияния
- если CC может объединять файлы, пусть сливается,
- если CC не может объединиться - я не хочу, чтобы он потерпел неудачу, вместо этого давайте не будем объединять этот конкретный файл (отменить объединение для этого файла), переходите к следующим файлам.
- Перечислите пропущенные файлы, чтобы я мог вручную объединить их позже.
Вам нужно написать сценарий для управления этим делом, и даже в этом случае он не будет работать для слияния UCM (доставить / перебазировать), которое не будет завершено, пока все файлы не будут объединены (отсюда моя "красная стрелка") предложение ниже)
Этот сценарий должен в основном получить вывод clearmerol -print findmerge -print (чтобы объединить все каталоги / файлы), а затем объединить сначала каталоги, а затем файлы один за другим, применяя политики, которые вы предпочитаете.
чтобы убедиться, что определенный файл всегда игнорируется
для текущего слияния:
Вы можете смоделировать объединение, отобразив дерево версий и щелкнув правой кнопкой мыши на исходной версии: "объединить" и выбрать "не объединять, нарисовать стрелку объединения" ( красная стрелка, которая представляет стрелку объединения, как показано на этом рисунке),
Идея состоит в том, чтобы обмануть текущую доставку, полагая, что этот файл был объединен, даже если вы не делали никаких изменений во время этого слияния (вы просто нарисовали красную стрелку или стрелку слияния между исходной и целевой версиями).для будущих слияний:
Вы можете изменить менеджер слияния, связанный с типом файла, чтобы никогда не слить его.
Смотрите раздел" Обработка двоичных файлов в IBM Rational ClearCase ", где объясняется, как создатьновый менеджер специального типа:
Затем вы можете применить этот менеджер слияния к определенному файлу сcleartool chtype
,
Первоначально я попробовал следующие команды, чтобы получить список файлов для слияния (имена файлов, действия переименованы, чтобы избежать путаницы):
Операция cleartool findmerge: a @ \ a_pvob активность: b @ \ a_pvob -fcsets -ftag Accept_deliver_stream -type d -merge -log c: \ temp \ am.log
Операция cleartool findmerge: a @ \ a_pvob активность: b @ \ a_pvob -fcsets -ftag Accept_deliver_stream -type f -print -log c: \ temp \ af.log
поэтому он возвратил список команд в файл af.log, когда я пытаюсь выполнить эти команды, он просто зависает даже через час, одна команда:
инструмент для поиска в cleartool M:\WM2011_DEV_INTG_WMOSBUILD_01\WM08\CPP\base\foundation\general\ general \ invupdates\InvUpdate.cpp -fver \main\Mainline_Int\WM08_Integration\WM09_Integration\WM2010_DEV_INTG\MAIN_W2012_I_ND