Как повторно инициализировать репозиторий git-svn

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

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

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

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

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


person Bobby Eickhoff    schedule 11.01.2010    source источник


Ответы (1)


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

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

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

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

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

person VonC    schedule 11.01.2010