Вопрос

Последнее время я экспериментировал с SVN и полюбил его мощь и удобство использования, а также то, что мы можем связать его с нашей системой отслеживания ошибок, чтобы упростить жизнь каждому.Итак, пришло время перенести нашу установку VSS 2005 на SVN, и теперь я не могу решить эту проблему.

Кажется, существует ряд инструментов, которые утверждают, что способны завершить миграцию с VSS 2005 на SVN, но я не могу понять, какой из них лучше или который обеспечит наиболее полный переход.Мне нужен тот, который будет переносить всю историю, а не просто извлекать данные из VSS и проверять их в SVN.

Я нашел Polarion SVN Importer, который выглядит одновременно мощным и легко настраиваемым, однако я не могу заставить эту чертову штуку работать, она жалуется, что не может извлечь список файлов из $/ в VSS.Если я вручную запускаю ту же команду, которая вызывает сбой, кажется, что все работает нормально, поэтому я не могу в этом разобраться.

Кто-нибудь успешно перенес свой исходный код с VSS 2005 на SVN, и если да, то какие инструменты вы использовали и каковы были ваши выводы?Любые предостережения или ошибки были бы очень полезны, поэтому знайте их, а также все, что было полезным/удивительным, разочаровало или просто было искажено.

Это было полезно?

Решение

Попробуйте последнюю версию магистрали (консольного приложения) для VssMigrate на Codeplex, чтобы изменить порядок вашей истории и повторно создать наборы изменений из вашего репозитория VSS.Он также правильно упорядочит ваши версии в зависимости от времени их возврата.

http vssmigrate.codeplex.com/SourceControl/changeset/view/16890

Надеюсь, это поможет.Возможно, потребуется внести некоторые изменения в импорт $/.

P.S.история помогает вам узнать, кого винить за один шаг, вместо того, чтобы выяснять, правильна ли аннотация на основе импорта, поэтому я считаю ее весьма полезной.Гораздо лучше иметь его, чем не иметь, при поиске ошибок в старом коде.

П.П.С.Вы даже можете использовать новую версию VssMigrate для повторного импорта ревизий в репозиторий Subversion, а затем объединить все ревизии. после последняя версия импорта из вашей предыдущей версии.Единственным недостатком является то, что всем придется получать новую выписку из репозитория, поскольку количество ревизий будет значительно сокращено.По сути, выполните новую миграцию;svnadmin создает дамп активного ранее перенесенного репозитория из версии перенесенной+1 как инкрементный, а затем svnadmin загружает в вновь перенесенный репозиторий.

Другие советы

Около года назад я попробовал и Polarion, и vss2svn.

У нас были много лет кода в VSS, и я обнаружил, что после всей настройки и тестирования, результаты которых меня не совсем удовлетворили, процесс был долгим и хрупким, и в конце концов решил просто начать с чистого импорта последней версии. код.

За последний год было несколько раз, когда я искал старую историю, но не так уж и много.Еще один плюс начала работы с нуля заключается в том, что ваш новый репозиторий SVN будет очень быстрым!

Последний раз я это пробовал много лет назад.Поскольку формат файла VSS не был задокументирован, для получения полной истории сторонней программе преобразования пришлось использовать API VSS для получения каждой версии каждого файла.Я позволил этому преобразованию выполниться на выходных, увидел, насколько многого оно достигло (несколько процентов), и подсчитал, что на его завершение потребуются недели календарного времени (у нас были годы истории).

Поэтому мы решили переместить в новую систему контроля версий только снимок последней версии кода и сохранили архив базы данных VSS для истории.

Как и в этом вопросе — другая миграция, но я также считаю, что попытки запечатлеть историю — пустая трата усилий/времени.

Как лучше всего перейти с SourceSafe на ClearCase?

Несколько месяцев назад я успешно перенес VSS 2005 на SVN.Я использовал инструмент «VssMigrate.Tim2», который, по-видимому, сейчас находится на CodePlex. vssmigrate.Все работало нормально, без каких-либо серьезных проблем.Казалось, что версии и временные метки были расположены не совсем так, как я ожидал, но это не имело большого значения.

РЕДАКТИРОВАТЬ:С помощью vssmigrate вы можете выбрать для миграции определенный путь VSS (например,$/GroupA/ProjectB), что сокращает время индивидуальной миграции и делает весь процесс менее хрупким.Мне этот процесс не показался слишком долгим, хотя у нас были данные в VSS всего за шесть месяцев.Мне удалось завершить миграцию и настройку Apache+SVN за выходные.В зависимости от размера вашего репозитория VSS вы можете создать несколько репозиториев SVN вместо одного огромного репозитория.

Я очень рад, что мы отошли от VSS, хотя настройка Apache+SVN не доставила особого удовольствия (методом проб и ошибок).я рассматривал Гит или Меркуриальный, но на тот момент ни у одного из них не было надежного инструмента TortoiseXxx или плагина VS SCC.Хотя теперь это Google-код поддержал Mercurial и ЧерепахаHg выглядит хорошо, мне хочется в ближайшее время попробовать Mercurial.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top