Можно ли клонировать SVN-репозиторий как Git-репозиторий с помощью простой команды?

535
Morgan Courbet

Мне нужно клонировать SVN-репозиторий как голый репозиторий Git.

На данный момент я выполнил это:

  1. Клонирование репо SVN с git-svn:

    $ git svn clone http://svn.code.sf.net/p/syntaxhighlight/code/ 
  2. Перемещение .gitкаталога в нужное место:

    $ mv code/.git /srv/git/syntaxhighlight 

Но я не нахожу это действительно удобным, и я не вижу никакой ссылки на то, bareкогда я man git svn. Кроме того, если репозиторий SVN был обновлен, я могу работать git svn fetch, но я получаю ошибки, когда пытаюсь сделать ребаз.

Может ли какой-либо вариант сделать свое дело?

В идеале хотелось бы вариант похожий на git clone --mirror.

Запуск Git 2.1.4

3

1 ответ на вопрос

2
Phil

Переместив .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 работает в обычном или пустом хранилище, потому что работает без каталога извлечения.

Похожие вопросы