Как импортировать существующий проект GIT в SVN, сохраняя историю GIT в основной ветке? - PullRequest
3 голосов
/ 19 июля 2010

У меня есть проект, разработанный с помощью GIT, и у меня есть несколько сотен коммитов.У меня есть только одна основная ветвь, а коммиты являются линейными.

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

Как будто мне нужно воспроизвести всю историю коммитов в SVN.Есть ли способ из GIT сделать это более или менее автоматически?

Одна мысль пришла мне в голову, но я понятия не имею, как к этому подойти: я создаю новый пустой trunk/ в SVN, клонэто с помощью GIT (т.е. пустой клон GIT SVN) и воспроизвести в нем мои изменения мастера, а затем dcommit.

В будущем я продолжу работу с моей веткой GIT и синхронизирую ее с SVN.

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

У Google есть очень подробное руководство о том, как это сделать здесь . Он предназначен для импорта в код Google, но будет работать для любого репозитория SVN.

0 голосов
/ 20 июля 2010
  1. Настройка пустого проекта SVN с некоторой фиксацией.
  2. "git svn clone" это.
  3. История импорта в этом почти пустом проекте git-svn (перебазировать здесь)
  4. "git svn dcommit".

Вопросы:

  1. временные метки повреждены, имена авторов не верны.
  2. "git svn dcommit" работает не так хорошо, когда слишком много коммитов для dcommit. Предпочтительным является разбиение на пакеты по 20 коммитов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...