3

Мне нужно клонировать 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

1 ответ1

2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .