Нам нужно было именно это для проекта, в котором я был. Команде было более комфортно в SVN, а корпоративным стандартом был ClearCase. Поэтому я написал скрипт для непрерывного переноса транка в прозрачный регистр и запустил его на нашем сервере сборки.
Я поместил скрипт здесь: http://dvae.net/blog/2009/09/clearcase-to-svn/
Мы настроили задание на нашем сервере сборки, который периодически запускался и выполнял миграцию с использованием clearfsimport. Мы использовали Luntbuild в качестве сервера сборки, но круиз-контроль тоже подойдет. Как и при обычной сборке, мы устанавливаем скрипт для запуска только при обнаружении модификаций svn. Работа выполнялась каждые 20 минут, поскольку сервер ClearCase находился в другой стране, и все операции выполнялись медленно, а синхронизация выполнялась в течение 40 минут. Я предлагаю бегать так часто, как вы можете.
Сценарий основан на ClearCase UCM, если вам нет необходимости удалять «cleartool mkact» и в конце создать метку вместо базовой линии.
Я установил комментарий в чистом виде как объединение всех коммитов SVN с момента последней синхронизации.
Я нашел это надежным, и единственная причина, по которой он потерпел неудачу, заключалась в том, что триггеры Clearcase (например, триггер «злой двойни») остановили регистрацию. Когда это происходит, сборка завершается неудачно, Lunbuild отправляет электронное письмо, и тогда мне приходится вручную выполнять обратное слияние истории, чтобы избавиться от проблемы злых двойников, зафиксировать и повторно запустить.