Проблема злых близнецов и вычитание слияния
Кто-нибудь может объяснить, что такое слияние Злого Близнеца и Субтрактивного в Clearcase?
2 ответа
Злой близнец
Evil Twin - это элемент, который вы удалили (используя rmname) и хотите добавить его заново, но в предыдущих версиях каталога он существует как "evil twin".
Вы должны помнить, что у каждого элемента был уникальный идентификатор, поэтому вы пытаетесь добавить элемент с тем же именем, но с другим UID. Это не разрешено
Лучший способ справиться с Evil Twin - это связать самую новую версию существующего элемента с новой версией каталога. Затем вы можете создать новую версию элемента и заменить данные внутри него.
Вычитание слияния
Субтрактивное слияние является противоположностью выборочного слияния.
Выборочное объединение (по умолчанию, стандартное объединение болот) добавляет изменения из другой версии элемента в вашу извлеченную версию.
Субтрактивное объединение пытается удалить изменения, сделанные в другой версии, из версии, которую вы извлекли - потому что это плохая версия, вы допустили ошибки в ней и т. Д.
У 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. Чувствительные к регистру проблемы могут быть реальной болью, чтобы иметь дело с и создавать некоторых злых близнецов, даже если вы этого не понимаете