Если у вас нет другого пульта, который был добавлен с git remote add ...
, попробуйте следующую процедуру:
git gc
для упаковки всех ссылок в .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, и, похоже, она работает.
РЕДАКТИРОВАТЬ: Я только что подтвердил, что эта процедура не портит операции git-svn dcommit или rebase. Это как если бы --prefix=svn/
было изначально указано в команде git svn clone -s SVN_REPO_URL
.