Можно ли клонировать SVN-репозиторий как Git-репозиторий с помощью простой команды?
Мне нужно клонировать SVN-репозиторий как голый репозиторий Git.
На данный момент я выполнил это:
Клонирование репо SVN с
git-svn
:$ git svn clone http://svn.code.sf.net/p/syntaxhighlight/code/
Перемещение
.git
каталог в нужное место:$ mv code/.git /srv/git/syntaxhighlight
Но я не нахожу это действительно удобным, и я не вижу никакой ссылки на bare
когда я man git svn
, Кроме того, если репозиторий SVN был обновлен, я могу запустить git svn fetch
, но я получаю ошибки, когда я пытаюсь ребазировать.
Может ли какой-нибудь вариант сделать свое дело?
В идеале хотелось бы вариант похожий на git clone --mirror
,
Запуск Git 2.1.4
1 ответ
После перемещения .git
Перейдите в нужное место, которое вы пропустили, выполнив следующее:
$ rm -rf code # you might want to get rid of the check-out
$ cd /srv/git/syntaxhighlight
$ git config --bool core.bare true
Я нашел следующий вопрос Stackoverflow Как преобразовать обычный Git-репозиторий в пустой? предоставляя ответ на вашу проблему.
На ваш вопрос о git svn rebase
: Я не могу думать об использовании git rebase
на голом хранилище. Я использую его только в обычном git-хранилище. Так что я думаю, что то же самое относится и к git svn rebase
,
git svn fetch
работает в обычном или пустом хранилище, потому что работает без каталога извлечения.