Злая проблема близнецов и вычитание слияния - PullRequest
5 голосов
/ 28 октября 2009

Может кто-нибудь объяснить, что такое слияние Злого Близнеца и Субтрактива в Clearcase?

Ответы [ 2 ]

10 голосов
/ 28 октября 2009

Злой Твин

Evil Twin - это элемент, который вы удалили (используя rmname) и хотите добавить его заново, но в предыдущих версиях каталога он существует как 'evil twin'.

Вы должны помнить, что у каждого элемента был уникальный идентификатор, поэтому вы пытаетесь добавить элемент с тем же именем - но с другим UID. Это не разрешено.

Лучший способ справиться с Evil Twin - это связать самую новую версию существующего элемента с новой версией каталога. Затем вы можете создать новую версию элемента и заменить данные внутри него.

Субтрактивное слияние

Субтрактивное слияние является противоположностью выборочного слияния.

Выборочное объединение (по умолчанию, стандартное объединение болот) добавляет изменения из другой версии элемента в выписанную версию.

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

3 голосов
/ 28 октября 2009

У IBM есть хорошая статья о субстративном слиянии .

Может быть выполнено вычитающее слияние для исключения или обхода плохих версий в ветви без фактического удаления плохих версий.
Объединение Cleartool с использованием параметра -delete позволит пользователю выполнить переход от последней известной исправной версии к новой версии в той же ветке, что исключает работу, выполненную в версиях, определенных как ошибочные.
Это слияние должно быть выполнено из командной строки, оно не создает стрелку слияния, стрелка может быть создана вручную.

Это будет работать как для файла, так и для каталога

Но вы должны понимать, что слияние касается файла или каталога, а не каталога "и всего, что в нем".
Чтобы слить рекурсивно, взгляните на findmerge .

Вы можете захотеть объединить только каталоги (так как они всегда объединяются первыми, чтобы определить фактический список файлов для объединения!), Как в этой статье IBM

% cleartool setview major_vu% cleartool findmerge /vobs/vob1 /vobs/libvob2 –type d \ 
–fversion /main/LATEST –merge

вы также можете выполнить слияние с ПОСЛЕДНЕЙ версией ветки или с тегом:

findmerge . –fversion /main/rel2_bugfix/LATEST –print
findmerge . –ftag rel2_bugfix_view –whynot –print

Примечание: -print всегда рекомендуется перед заменой на '-merge -gmerge', чтобы получить предварительный просмотр того, что будет объединено. Но если каталоги задействованы, он напечатает только то, что 'directory X' необходимо объединить, а не точный список файлов.


О злых близнецах читайте в статье IBM . Чувствительные к регистру проблемы могут быть настоящей болью, чтобы иметь дело и создавать некоторых злых близнецов, даже если вы этого не понимаете ...

...