Лучший способ импортировать теги SVN и транк в новый репозиторий Git?(Не могу использовать клон из-за размера репо) - PullRequest
2 голосов
/ 08 декабря 2011

Я перевожу проект из действительно большого репозитория Subversion в собственный репозиторий Git. Я уже решил просто экспортировать последнюю версию из ствола, а не выкидывать / клонировать всю историю проекта (по причинам, изложенным здесь ) и использовать ее в качестве первого коммита для репозитория Git. Тем не менее, у меня также есть пара тегов в репозитории SVN, которые я хотел бы хранить в Git. Я знаю, что могу создать аннотированный тег в Git, который представляет собой законченный объект, а не ссылку на конкретный коммит, но есть ли способ сделать это, используя код извне репозитория Git? Или мне лучше поочередно фиксировать каждый тег Subversion мастеру Git, а затем создавать тег в Git вне каждого коммита, а затем дополнять его тем, что в данный момент находится в транке Subversion?

FWIW, новый репозиторий Git является размещенным SaaS, поэтому у меня нет доступа к командной строке, а исходный сервер Subversion работает под управлением Windows.

1 Ответ

0 голосов
/ 08 декабря 2011

Я бы просто взял самую старую ревизию, общую для всех тегов и веток.Передайте это как начало.Затем сценарии извлечения истории каждой ветви и тегов должны чередоваться с git add -A && git commit.Обращайтесь с тегами svn как с ветвями в git.

Вы также можете просто пропустить это, и после того, как вы выполните общий базовый коммит в корне, ветвь, экспортируйте рабочее дерево из этой ветки в SVN и подтвердите это.Это даст вам последние коммиты по всем веткам и тегам.Не стоит импортировать svn history.Слишком больно.

...