Существуют разные методы для достижения этой цели. Я попробовал некоторые из них и нашел действительно работающий, только с установленным git и svn в ОС Windows.
Пререквизиты:
- GIT на окнах (я использовал это) https://git -scm.com /
- svn с установленными консольными инструментами (я использовал svn черепахи)
- Файл дампа вашего хранилища SVN.
svnadmin dump /path/to/repository > repo_name.svn_dump
Шаги для достижения конечной цели (переместить весь репозиторий с историей в git, сначала локальный git, затем удаленный)
Создать пустой репозиторий (используя консольные инструменты или tortoiseSVN) в каталоге REPO_NAME_FOLDER
cd REPO_NAME_PARENT_FOLDER
, поместите dumpfile.dump в REPO_NAME_PARENT_FOLDER
svnadmin load REPO_NAME_FOLDER < dumpfile.dump
Подождите, пока эта операция может быть длинной
Эта команда молчит, поэтому откройте второе окно cmd: svnserve -d -R --root REPO_NAME_FOLDER
Почему бы просто не использовать файл: /// ......? Причина Следующая команда не будет выполнена с Unable to open ... to URL:
, благодаря ответу https://stackoverflow.com/a/6300968/4953065
Создать новую папку SOURCE_GIT_FOLDER
cd SOURCE_GIT_FOLDER
- git svn clone svn: // localhost / Ожидание этой операции.
Наконец, что мы получили?
Давайте проверим наш локальный репозиторий:
git log
Видите ваши предыдущие коммиты? Если да - хорошо
Итак, теперь у вас есть полностью функциональный локальный репозиторий git с вашими исходниками и старой историей SVN.
Теперь, если вы хотите переместить его на какой-нибудь сервер, используйте следующие команды:
git remote add origin https://fullurlpathtoyourrepo/reponame.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags
В моем случае мне не нужна команда тегов, потому что в моем репозитории нет тегов.
Удачи!