Как повторно инициализировать репозиторий git-svn - PullRequest
5 голосов
/ 11 января 2010

Следуя совету этого урока , я клонировал svn-репозиторий, у которого не было стандартного макета.

git-svn clone -s http://example.com/my_subversion_repo local_dir

Параметр -s используется для обозначения того, что мой репозиторий Subversion имеет стандартную компоновку (trunk /, branch / и tags /.). Если в вашем репозитории нет стандартной компоновки, вы можете оставить ее отключенной.

Будучи совершенно новым для git, я не осознавал, что простое отключение опции -s без добавления опций --trunk, --branches и --tags оставило бы меня не только с репозиторием без веток, но и с проверена вся голова хранилища (а не только голова ствола).

Есть ли способ "исправить" мой локальный репозиторий git, чтобы он вел себя так, как если бы я создал его со знанием компоновки репозитория svn? Могу ли я использовать git-svn init для повторной инициализации моего репозитория? Из-за продолжительности времени я надеюсь избежать необходимости откидываться с нуля.

1 Ответ

2 голосов
/ 11 января 2010

Это похоже на SO вопрос "Клонирование нестандартного хранилища Svn с помощью Git-Svn" , и я не уверен, что существует процесс исправления репозитория Git после этого первоначального клона. *

Глубокий клон - официальный путь:

git svn clone https://svn.myrepos.com/myproject web-self-serve 
   --trunk=trunk --branches=branches/*/*

Но мне нравится инкапсуляция, предоставляемая svn2git .

К сожалению, оба эти решения требуют повторного клонирования с нуля ...

...