Преобразование многих модулей CVS в один репозиторий SVN
У меня есть довольно большой CVS-репозиторий, который я хочу преобразовать лишь в несколько репозиториев Subversion. Я правильно руководствовался использованием cvs2svn для конвертации и даже дошел до создания своего собственного файла опций. Мне не нужно сохранять теги или ветки, но я хотел бы сохранить историю изменений. Моя проблема в том, что я хочу, чтобы мои модули находились в одной папке соединительных линий, например, svn / trunk /module1 и svn / trunk /module2 вместо svn /module1 / trunk и svn /module2 / trunk. Когда я устанавливаю путь в ничего, он выдает ошибку о пустом пути. Какие-либо предложения?
2 ответа
Моя проблема в том, что я хочу, чтобы мои модули находились в одной папке соединительных линий, например, svn/trunk/module1 и svn/trunk/module2 вместо svn/module1/trunk и svn/module2/trunk. [...] Какие-либо предложения?
Почему вы не импортируете структуру такой, какая она есть, и не перемещаете ее позже в хранилище? В конце концов, способность перемещать вещи - одно из самых больших преимуществ SVN перед CVS. (Тот факт, что это изменение структуры происходит в истории, может рассматриваться как преимущество.)
Самое простое, что можно сделать, - это сделать копию своего репозитория CVS, а затем (в копии) переместить каталоги так, как вы хотите, чтобы они оказались в конечном репозитории Subversion. Затем преобразуйте как один проект, указав cvs2svn на соответствующий каталог в переставленном репозитории. Например:
mkdir $CVSCOPY/proj
mv $CVSCOPY/path/to/module1 $CVSCOPY/proj/module1
mv $CVSCOPY/another/path/to/module2 $CVSCOPY/proj/module2
cvs2svn [OPTIONS] $CVSCOPY/proj
(Если ваши подмодули уже упорядочены нужным образом, копирование и реорганизация могут даже не потребоваться.)