Я работаю над преобразованием хранилища 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?
Как я могу переименовать эти символы так, чтобы они оставались отдельными и приводили к ответвлению и тегу с тем же именем?
-
Если обходного пути нет, я постараюсь исключить проблемные символы из правил преобразования и впоследствии переместить их вручную, хотя я бы предпочел сделать это во время преобразования.