Я работаю над преобразованием репозитория CVS, который имеет следующие символы (среди прочего):
tcm-6.1.0-branch
- ветка tcm-6.1.0
- тег
Используя стандартные преобразования, cvs2svn правильно их идентифицирует. Тем не менее, я хотел бы сделать некоторую очистку во время преобразования. В частности, я хотел бы удалить избыточную часть символа ветки «-branch», поскольку она будет находиться в каталоге «ветвей» в svn. Я добавил в symbol_transforms проекта следующее:
RegexpSymbolTransform(r'(.*)-branch', r'\1')
Теперь я получаю «ОШИБКА: несколько определений символа 'tcm-6.1.0' в ...» для каждого файла, потому что tcm-6.1.0
- это и ветвь, и тег. У меня есть несколько пар символов CVS, которые приводят к этой проблеме.
Мне кажется, что, поскольку исходные символы разные, а целевые каталоги разные, эта операция должна быть возможна. Что-то мне не хватает или это просто недостаток cvs2svn?
Как я могу переименовать эти символы, чтобы они оставались отдельными и в результате образовывались ветка и тег с тем же именем?
--
Если не удастся решить эту проблему, я постараюсь исключить проблемные символы из правил преобразования и потом переместить их вручную, хотя я бы предпочел сделать это во время преобразования.