Git Импорт из Surround SCM?

Моя компания имеет большую базу кода в Surround SCM, которая была перенесена из SourceSafe несколько лет назад. Мы стремимся перейти к чему-то более подходящему для наших нужд, но получение нашей истории из Surround является проблемой.

Googling для git импортеров, я нашел хороший учебник по пользовательским импортерам. Также представляется поддержка svn, perforce и многих других, но нет Surround.

Было бы лучше всего сделать снимок и начать новый репо git? Или стоит написать script, чтобы получить более 15 лет истории кода?

Ответы

Ответ 1

В этом сценарии можно написать script, но не для получения всей истории.

Я бы порекомендовал только импортировать:

  • основные ярлыки (для чего-либо старше года или любого другого периода, в котором вы чувствуете себя комфортно, вам не понадобится исследование полностью, потому что оно так устарело)
  • все ярлыки (майор и несовершеннолетние) за последние годы.

Однако переход на Git требует также работы для идентификации модулей или приложений в вашем централизованном репозитории Surround.
Попытка импортировать все эти данные в один репозиторий Git была бы ошибкой, если только это не одна гигантская система, которая не может быть развита по частям независимо друг от друга (например, ядро ​​Linux).

См:

Ответ 2

Находя себя в этом точном сценарии, я беру на себя ответственность за создание такого пользовательского импортера: export-surround-to-git

Этот метод способен сохранять полную историю, временные метки, авторы, комментарии, ветки, моментальные снимки и т.д.

Этот script был протестирован в ограниченном количестве сценариев и до сих пор оказался успешным. Хотя это еще не работает, это может быть то, что вы ищете. Это open-source - так что не стесняйтесь делать улучшения в script самостоятельно!

Ответ 3

Surround SCM имеет SDK. Я использовал это для создания репозитория из CVS в Surround. Несколько лет спустя одна команда смотрела на переход к SVN и спросила, могу ли я перенести репозиторий. Я придумал решение, которое состояло в том, чтобы пройти репозиторий Surround и создать промежуточную базу данных в памяти, а затем обработать его. Чтобы даты были правильными, я бы reset часы на компьютере. Прежде чем я смог полностью реализовать решение, мы решили сохранить плавающую лицензию для этой команды, когда им нужно было посмотреть на историю и спланировать их переосмысление всей организации своих проектов. (Как FYI, два года спустя, и эта команда все еще использует Surround.)