Есть ли способ перенести SourceSafe с историей в SVN? - PullRequest
5 голосов
/ 06 января 2009

Есть ли способ перенести SourceSafe с помощью HISTORY в SVN?

В идеале я хотел бы использовать VisualSVN Server, но я не хочу терять историю SourceSafe. Если мне придется, я буду, хотя.

Ответы [ 8 ]

6 голосов
/ 06 января 2009

Давным-давно (кажется) я пытался перенести базу данных SourceSafe в subversion, используя vss2svn , но в конце концов сдался. Было несколько проблем, IIRC:

  • Вы должны убедиться, что база данных SS согласована (например, Analyze не находит проблем или способен их исправить).
  • миграция БД заняла очень много времени, потому что она была довольно большой.
  • наконец, миграция не удалась из-за некоторых проблем с датами разбора. Я не смог найти причину проблемы, но, думаю, это было связано с тем, что мы использовали формат даты DD.MM.YYY вместо формата даты в США.

Итак, в конце концов мы решили сохранить базу данных SourceSafe без изменений (только для чтения) и просто перенести текущую версию в Subversion. До сих пор было очень мало случаев, когда нам приходилось возвращаться в SourceSafe, чтобы что-то проверить.

Надеюсь, это поможет.

Кстати: не имеет значения, используете ли вы VisualSVN Server или subversion напрямую (svnserver). Формат хранилища одинаков в обоих случаях.

5 голосов
/ 06 января 2009

Попробуйте скрипт vss2svn .

Или проект vss2svn .

3 голосов
/ 08 января 2010

Я успешно преобразовал нашу противную базу данных VSS, включая историю. Я пишу об опыте здесь. Основной момент преобразования:

"Все инструменты преобразования также требовали, чтобы исходная база данных VSS была чистой от повреждения перед преобразованием. Это оказалось намного сложнее и заняло больше времени, чем вы могли подумать. Запуск инструмента VSS Analyze для копии базы данных показал сотни повреждений и не завершатся без синего экрана компьютера, на котором он работает.

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

Как только эта точка была достигнута, мы использовали инструмент VSS2SVN для создания файлов дампа, которые были импортированы в Subversion. "

2 голосов
/ 07 октября 2009

Мы использовали Polarion SVN Importer для миграции VSS в SVN с полной историей.

1 голос
/ 05 июля 2014

Моя компания разработала инструмент миграции Source Safe на Subversion: http://www.abstrakti.com/Products/Krepost

Этот инструмент был разработан после возникновения проблем со всеми остальными инструментами, когда нам пришлось перенести репозиторий клиента. Кроме того, это единственный инструмент, который может импортировать метки SourceSafe в SVN. Кроме того, он способен справиться с большинством исков репозитория SourceSafe и предлагает безболезненную миграцию для пользователей, которые не хотят тратить несколько дней на отладку кода C #.

Дайте мне знать, если у вас возникнут проблемы, я буду рад вам помочь.

Эрик.

1 голос
/ 08 января 2010

В моей компании я неоднократно пытался перенести (большой) репозиторий SourceSafe в Subversion с vss2svn. Я даже внес небольшой вклад в поддержку кодовых страниц (у нас были имена файлов на греческом языке). Если я правильно помню (это произошло прошлой весной; т.е. в 2009 году), наша главная проблема (та, которая заставила нас окончательно отменить миграцию) заключалась в том, что навсегда удалялись файлы, которые были перекрестно связаны / перемещены между нужными и нежелательными частями хранилища миграция.

Мое предложение: если вы не можете сделать это в полностью проанализированном хранилище, не тратьте больше времени. Просто нарисуйте линию и начните с нового хранилища Subversion.

Примечание: постоянное удаление файла в SourceSafe делает файл полностью невосстанавливаемым, что совершенно несовместимо с системами контроля версий типа CVS / SVN (и, как я полагаю, и с другими системами контроля версий).

1 голос
/ 17 января 2009

Да, используйте проект VSS2SVN на Codeplex . Я обновил его, чтобы он поддерживал историю, комментарии, автора и дату при переходе на SVN. Это займет немного больше времени, но я не думаю, что это важно, потому что это не то, чем вы занимаетесь каждый день.

Также имеется возможность обновить репозиторий файлами из VSS после определенной даты, чтобы вы могли обновить первоначальный дамп позже.

1 голос
/ 09 января 2009

Мне удалось успешно перенести несколько исходных безопасных репозиториев в SVN с помощью сценария vss2svn . Я предлагаю сделать это небольшими порциями - у нас было много небольших проектов и несколько средних проектов, которые удалось успешно перенести в SVN.

У меня была пара проблем:

  • Большие файлы не удалось записать в формат файла дампа SVN, я представил патч, чтобы он заработал, я думаю, что кто-то написал его более изощренно после того, как я закончил.
  • Структура корневого каталога не была правильно скопирована. Репозиторий VSS был организован как $ / клиент / проект. Репозиторий svn в итоге был организован как svn: // server / randomdirectory / anotherrandomdirectory / client / project. Поэтому я исправил их, отредактировав дамп-файл перед его импортом (я думаю, что он находил find replace "/ randomdirectory 'на' '.
...