Любой инструмент для миграции репо из Vault в Subversion? - PullRequest
16 голосов
/ 12 сентября 2008

Существуют ли какие-либо инструменты для облегчения перехода с Хранилища Sourcegear на Subversion ?

Я бы действительно предпочел существующий инструмент или проект (я куплю!).

Требования:

  1. Единовременная миграция только
  2. Полная история с комментариями

Дополнительно:

  1. Некоторая поддержка для ярлыков / веток / тегов
  2. Относительно быстро. Это может занять часы, но не дни.
  3. Стоимость при наличии

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


Одна из причин, по которой я хотел бы это сделать, заключается в том, что у нас много проектов, распределенных между Vault и Subversion (мы наконец-то отошли от SourceSafe). В некоторых ситуациях было бы полезно объединить репозитории конкретного клиента с SVN.

Кроме того, SVN лучше поддерживается среди сторонних инструментов. Например, Гудзон и Redmine .

Опять же: мы не покидаем хранилище в целом.

Ответы [ 5 ]

19 голосов
/ 30 ноября 2009

Мы думаем о переходе от хранилища к мерзавцу. Я написал конвертер vault2git, который заботится об истории и удаляет привязки хранилищ из файлов * .sln, * .csproj.

Как только у вас есть git-репо, появляется git2svn.

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

8 голосов
/ 12 сентября 2008

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

https://www.mercurial -scm.org / wiki / GenericConversion является хорошим примером

Основываясь на документации, которую я видел на веб-сайте Vault, посмотрите в командной строке GETVERSION.

Используйте ваш любимый язык сценариев ... Реализуйте следующий процесс:

  1. Проверить версию из хранилища.
  2. Получите комментарии коммита для набора изменений.
  3. Добавить / удалить файлы в репозиторий SVN
  4. Фиксация файлов с использованием коммитов
  5. Вернитесь к первому шагу со следующей версией
2 голосов
/ 12 сентября 2008

Я никогда не находил простой способ перейти из Vault в SVN. В основном мы взяли наши последние ветки и ствол и начали новое в SVN. Честно говоря, я вернулся на два или три лейбла, просто потому что. Я держал хранилище в течение шести месяцев, и нам никогда не нужно было возвращаться к нему для получения данных. Итак, я предполагаю, что вы хотите перенести свою историю для встраивания в систему отслеживания ошибок; в то же время мы перенесли наш выдающийся список ошибок на новый трекер, так что это определенно сделало вещи более удобными. Если бы мы остановились на одном и том же баг-трекере, я бы подумал, что мы бы начали новый экземпляр этого для нового репо. Удачи!

Brett

0 голосов
/ 17 апреля 2009

Мы также рассматриваем вопрос миграции. Одной из причин является стоимость, но другая причина заключается в том, что Vault не использует действительный xml (или любой другой) для комментариев коммитов, поэтому специальные символы не работают в нашей автоматизированной системе сборки CCNet (например, символ маркера является одним из них и, в частности, вызывает у нас проблему) , Способом обойти это было A) попросить наших разработчиков не использовать эти специальные «недопустимые» символы (символы вне диапазона ASCII 32–126) и B), чтобы вручную войти и повторно зафиксировать код с «valid» комментарий. Это может показаться не таким уж большим делом, но запрет этих символов не позволяет легко копировать / вставлять ошибки и другие комментарии в комментарий коммита. Это замедляет людей, и все, что препятствует потоку и производительности, а также создает разочарование, должно быть уменьшено или устранено.

Судя по моим исследованиям, невозможно напрямую перейти из Vault в SVN. Возможно, можно использовать другую систему контроля версий в качестве промежуточного этапа миграции: Хранилище -> OtherSourceControlProduct -> SVN

... но я думаю, что мы либо запишем коммиты (как предлагал Джошуа в начале этого потока), либо - что более вероятно - просто передадим последние несколько ревизий и оставим репозитории Vault на некоторое время для истории, и т.д. Это фактически дает нам хорошую возможность очистить и реорганизовать наш текущий код и иерархию.

Пол

0 голосов
/ 16 апреля 2009

Бесплатно. Стоимость лицензии пользователя на хранилище утроилась с тех пор, как мы к ней пришли.

...