Моя текущая структура SVN:
Path: .
URL: svn://someaddress.com.tr/project
Repository Root: svn://someaddress.com.tr
Repository UUID: -------------------------------------
Revision: 10297
Node Kind: directory
Schedule: normal
Last Changed Author: ----
Last Changed Rev: 9812
Last Changed Date: 2010-12-20 17:38:48 +0100 (Mon, 20 Dec 2010)
Но наш проект (следовательно, служба SVN) будет работать sub.someaddress.com.tr
вместо someaddress.com.tr
(someaddress.com.tr скоро будет перенаправлен в другое место).
Поскольку это сервер разработки, я не знал, что делать. Мне нужно будет использовать svn switch
или svn switch --relocate
? Кроме того, мне нужно будет переключить svn root someaddress.com.tr или ветку проекта someaddress.com.tr/project ?
источник
svn switch --relocate OLD NEW
switch
команде, вся документация, которую я нашел в Интернете, предназначена для более новых версий.Если вы захотите добавить URL-адрес до и после него, вы можете быть спокойны:
И проверка вашей версии (должна быть> 1,7), чтобы убедиться,
svn relocate
что использовать:Наконец, добавив к вышесказанному, если изменение URL-адреса вашего репозитория также включает изменение протокола, вам может потребоваться указать URL-адрес до и после (также см. Здесь )
Конечно, все в одной строчке, после чего создается хорошее ощущение, что все прошло гладко:
Если хотите, немного больше уверенности, новый URL репозитория svn подключен и работает:
источник
В моем случае
svn relocate
команда (как иsvn switch --relocate
) завершилась ошибкой по какой-то причине (возможно, репо не было перемещено правильно, или что-то еще). Я столкнулся с этой ошибкой:Я не хотел повторно загружать весь репозиторий, поэтому нашел обходной путь. В моем случае это сработало, но в целом я могу представить, что многие вещи могут выйти из строя (так что либо сделайте резервную копию своей рабочей копии, либо будьте готовы перепроверить все репо, если что-то пойдет не так).
Адрес репо и его UUID сохраняются в
.svn/wc.db
файле базы данных SQLite в вашей рабочей копии. Просто откройте базу данных (например , в SQLite браузере), просмотр таблицы репозитарий и изменитьroot
иuuid
столбцы значение новых. Вы можете найти UUID нового репо, выполнивsvn info NEW_SERVER
.Опять же, относитесь к этому как к последнему методу.
источник
Если вы хотите зафиксировать новое пустое репо, вы можете проверить новое пустое репо и зафиксировать новое удаленное репо.
Вызов нового пустого репо не удалит ваши локальные файлы.
попробуйте это: например, URL-адрес удаленного репо: https://example.com/SVNTest
cd [YOUR PROJECT PATH] rm -rf .svn svn co https://example.com/SVNTest ../[YOUR PROJECT DIR NAME] svn add ./* svn ci -m"changed repo url"
источник