Ответ 1
Предполагая, что у вас нет другого пульта дистанционного управления, добавленного с помощью git remote add ...
, попробуйте выполнить следующую процедуру:
-
git gc
, чтобы упаковать все ссылки ref в.git/packed-refs
. - Откройте
.git/packed-refs
для редактирования. Замените "refs/remotes/" на "refs/remotes/svn/" . -
Откройте
.git/config
для редактирования. Вы должны увидеть что-то вроде:[svn-remote "svn"] url = SVN_REPO_URL fetch = trunk:refs/remotes/trunk branches = branches/*:refs/remotes/* tags = tags/*:refs/remotes/tags/*
Замените "refs/remotes/" на "refs/remotes/svn/" :
[svn-remote "svn"] url = SVN_REPO_URL fetch = trunk:refs/remotes/svn/trunk branches = branches/*:refs/remotes/svn/* tags = tags/*:refs/remotes/svn/tags/*
Обязательно обновите все ветки удаленного отслеживания. Для этого вы можете просто заменить "refs/remotes/" на "refs/remotes/svn/" во всем файле.
Я протестировал эту процедуру с копией моего зеркала git -svn репозитория GNU Nano и, похоже, работает.
EDIT: Я только что проверил, что эта процедура не испортит операции git -svn dcommit или rebase. Это как если бы --prefix=svn/
изначально были указаны в команде git svn clone -s SVN_REPO_URL
.