Обновить зеркало git -svn git без повторной загрузки всего

Я создал зеркало git репозитория svn, используя

    git svn clone svn://svn.svnrepo.com

Я загрузил его в github и смог обновить локальное репо, используя

    git svn rebase svn://svn.svnrepo.com

и нажмите обновления github

Позже после того, как я удалил локальную копию, я снова хотел обновить удаленный

Итак, я клонировал git repo

    git clone git://git.gitrepo.com

Но когда я попытался переустановить, я получил сообщение об ошибке

    git svn rebase svn://svn.svnrepo.com

    Data from a previous version of git-svn exists, but

    (required for this version (1.8.3.2) of git-svn) does not exist.

    Done migrating from a git-svn v1 layout

то он дает Невозможно определить восходящую информацию SVN из ошибки истории HEAD

Ive попробовал:

    git svn init svn://svn.svnrepo.com

с:

    git svn fetch

но он запускает повторную загрузку всего репозитория svn, который занимает более 24 часов Текущая версия svn помечена git -svn-id в журнале фиксации и кажется прекрасной, как мне остановить git svn fetch от повторной выборки уже существующих файлов или их перекомпоновки без полной повторной загрузки? У этого зеркала никогда не было коммитов, которые бы отличались от svn вверх по течению.

Ответы

Ответ 1

просто нужно запустить следующие команды

git config svn-remote.svn.url $SVN_URL
git config svn-remote.svn.fetch :refs/remotes/git-svn
svn2git --rebase

или вы также можете вручную отредактировать .git/config, чтобы добавить раздел svn-remote:

[svn-remote "svn"]
    url = SVN_URL
    fetch = :refs/remotes/git-svn

и отныне только svn2git --rebase

-

PS: кредит для моих источников: