2008-09-12 3 views
25

Я - единственный разработчик, который хочет выйти из Visual Source Safe и перейти на svn.Лучший способ миграции из VSS в Subversion?

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

Кто-нибудь сделал это успешно и может порекомендовать метод?

ответ

28

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

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

+2

Перед ввозом в SVN убедитесь, что вы удаляете любые файлы VSS с крутыми файлами, а также убедитесь, что все сгенерированные файлы также исчезли. – jodonnell

+6

Я не согласен с этим вообще. Моя компания использует VSS в течение почти 10 лет, и будет недостаток истории, если мы просто «начнем свежими». Я согласен с тем, что VSS - это мусор, но это лучше, чем ничего, и просто выбросить много лет истории файлов - большая ошибка. –

+8

Просто заморозите материал в VSS для дальнейшего использования (т. Е. Только для чтения) (о котором вы почти наверняка никогда не смотрите!) И начинайте заново с Subversion. –

0

Я использовал некоторый скрипт (я не помню, какой именно), чтобы помочь в преобразовании VSS в SVN. Это было немного больно и лаконично, но закончилось тем, что работало и сохраняло всю историю. В то время мне приходилось вести всю историю по политическим причинам; если бы у меня был свой путь, я, вероятно, выбросил бы историю и импортировал весь код в SVN.

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

1

В моем текущем задании мы просто создали репозиторий subversion, установили скрипты с крюком, чтобы игнорировать все vss и сгенерированные файлы, а затем только начали импортировать различные проекты с tortoiseSVN. Проработав довольно прилично, мы работали в течение нескольких часов.

7

Мы сделали эту миграцию недавно на работе. Я настоятельно рекомендую:

  1. Просто добавьте новый код из VSS, сделайте так, чтобы предыстория svn осталась в старом репозитории VSS.
  2. Если ваш репозиторий VSS по-прежнему используется после первоначального дампа кода, выполните миграцию с помощью Vendor Branches. Т.е. предположим, что ваш репозиторий VSS является поставщиком и использует датированные теги для объединения изменений в репозиторий SVN.

Чуть подробнее here.

2

Следующий инструмент работает достаточно хорошо: http://www.pumacode.org/projects/vss2svn/wiki/RunningTheMigration

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

Edit: домен pumacode.org нет, код теперь находится на https://github.com/irontoby/vss2svn

1

Я полностью согласен с ответом Джона Галлоуэй. Я также попытался использовать vss2svn, но обнаружил, что с импортированным репозиторием возникло множество проблем, и в конце концов решил, что это не стоит усилий, необходимых для его очистки. Мы просто импортировали копию кода в подрывную деятельность и вернулись в VSS в редкий случай, когда нужно проконсультироваться с более старой версией кода.

В моей предыдущей компании мы также использовали тот же подход для перехода от ClearCase к Subversion, и я не помню случая, который нам когда-либо понадобился, чтобы вернуться в ClearCase, чтобы посмотреть на историю.

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

1

Скачано и протестировано несколько инструментов для переноса, и я бы порекомендовал Polarion SVNImporter.

Мы использовали его для переноса выборочной миграции почти Gb из репозитория VSS6 в Subversion. Поскольку исходный код доступен, мы смогли его исправить и адаптировать к нашим конкретным потребностям (обнаружение связанных файлов).

8

Версия CodePlex VSStoSVN является одной из лучших, что я нашел. У меня были неплохие результаты с версией PumaCode, но эта работа прошла гладко.

http://vss2svn.codeplex.com/

2

Я использовал vss2svn с большим успехом.

6

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

Этого инструмента был разработан после того, как возникли проблемы с любым другим инструментом, когда мы должны были перенести хранилище клиента.

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

Eric.

+1

Я собираюсь попробовать это. Несмотря на наше предварительное отказ от VSS, без конверсии, мы просто решили, что нам действительно нужна какая-то информация. Компания Abstrakti.com, выше, по-видимому, специализируется на конвертации VSS, то есть у них также есть приложение для VSS для GIT, Castellum. Только в этом месяце у них было обновление обслуживания! – AnneTheAgile

+1

Я пробовал его со старым хранилищем VSS, он работал как шарм! – tcbrazil

Смежные вопросы