2015-01-09 2 views
0

У меня очень хорошо структурированный большой проект, который поддерживается в SVN в моей команде. И мы не хотим переходить на Git - что будет дальше интегрироваться с такими непревзойденными серверами интеграции, как Teamcity или Jenkins (еще не решили). Когда я увидел svn, я обнаружил, что, поскольку svn позволяет создавать тэги из любого места - в нем есть много тегов, которые содержат только одиночные проекты. Кодовая база настолько огромна, что я импортирую весь код в один репозиторий git. Один подход был бы для каждого проекта - я могу создать отдельный репозиторий или объединить часть проекта с одним репо (не уверен)Перемещение большого проекта Java Legacy для Git

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

Как я могу гарантировать, чтобы сохранить историю, есть все существующие теги, и перейти к мерзавцу

+1

Какова практическая причина перехода на git в вашем случае? – bahrep

ответ

3

git-svn является очевидным решением чтобы помочь с этой миграцией, но, на мой взгляд, это лучше для однократной миграции из SVN в git.

Если вы хотите сохранить как хранилища SVN, так и git-хранилищами и разрешить коммит для обоих (поддерживая их синхронизацию), я бы порекомендовал SubGit.

0

Когда мы перешли из svn в git, я нашел this stackoverflow сообщение очень полезно, в частности, второй ответ. Я предполагаю из вашего описания, что все под одним багажником. Это делает его немного сложнее. Я не пробовал перемещение отдельных проектов и раньше, но вы можете быть в состоянии сделать это одним из двух способов:

  1. Перенесите весь SVN репо, теги, филиалы и т.д. на локальный мерзавца репо (перед вами нажмите на пульте дистанционного управления). Затем разбейте проекты, выполнив предложения в (this) postoverflow post. Это должно дать вам отдельные репозитории, которые вы можете затем нажать на удаленные репозитории.

  2. Возможно, вы сможете изменить шаги при запуске преобразования svn в git и указать отдельный проект, но это кажется опасным и запутанным, поскольку теги/ветви не обязательно совпадают.