Как переключить хранилище Subversion в Visual Studio с помощью AnkhSVN?
Я разрабатывал проект локально и использовал локальный сервер SVN для управления версиями в Visual Studio. Теперь я хочу переключиться на управление версиями на хосте в xp-dev, но не могу избавиться от привязок svn в моем решении? Есть ли простой способ дублировать решение без его настроек управления версиями или просто переключиться на другой svn (который полностью пуст)?
7 ответов
Изменить: Обратите внимание, что это предполагает, что вы пытаетесь перейти в новый репозиторий, удаляя всю свою историю, а не перемещать репозиторий. Подумав об этом, вы можете заменить удаление всех папок.svn простым экспортом папки во вновь созданное рабочее пространство для нового репо.
Не то, что я знаю из. Я бы, наверное, сделал это,
- Удалите все папки.svn из вашего решения
- Создать папку для решения в новом репо,
- Проверьте это,
- Переместите ваше текущее решение в эту папку,
- Загрузите решение в Visual Studio
- Используйте AnkhSvn, чтобы добавить его снова. Он должен обнаружить тот факт, что он находится в подрывном каталоге, и позволить вам сделать это.
Есть встроенный переключатель / перемещение:
- Открыть представление -> Ожидающие изменения
- Щелкните раскрывающийся список, в котором отображается текущий URL-адрес хранилища, или кнопку справа от него.
- Введите / перейдите на новое место
- Появляется диалоговое окно, в которое вы хотите переместить (потому что переключения здесь недостаточно)
Также вы можете щелкнуть правой кнопкой мыши по решению или проекту, и в меню Subversion доступна опция "переключить проект".
Попробуйте перейти в "Файл"> "Subversion"> "Изменить контроль источника" и изменить URL-адрес привязки SCC.
РЕДАКТИРОВАТЬ: я вижу, что это не редактируется. Возможно, вам придется перейти к командной строке для этого.
В вашей базовой директории введите команду svn:
svn switch --relocate http://old.repo.location http://new.repo.location
с вашими конкретными URL, конечно. Я бы порекомендовал почитать на switch
Команда, так что вы уверены, что вы делаете. Когда вы снова откроете VS, AnkhSVN должен выбрать новые привязки. Если вы добавили решение через меню File > Subversion, вам может понадобиться отредактировать файл.sln. Просто откройте его в текстовом редакторе и замените все старые URL-адреса хранилища на новые.
Вы также можете установить TortoiseSVN и использовать контекстное меню, чтобы выполнить команду Relocate. Это будет проще всего.
Разумеется, сделайте резервную копию своего каталога перед любым из этих изменений.
Другой способ - отредактировать файл wc.db (файл SQLite) в папке ".svn", которая содержит URL-адрес хранилища. Я использовал аддон SQLITE-редактора Firefox, тогда в таблице REPOSITORY есть только 1 строка с указанием URL вашего репозитория, измените его на новый хост и все готово.
В моем случае у меня был новый компьютер с новым HOST, поэтому все мои проекты, добавленные в SVN-репозиторий, имели старый URL-адрес (старое имя хоста).
Я "экспортировал" из SVN, затем сделал "Добавить папку" в новое хранилище в браузере SVN Repo, затем открыл.sln в Visual Studio.
В моем случае мне пришлось изменить URL-адрес SVN, потому что DNS не знал об имени хоста, поэтому мне пришлось использовать IP-адрес.
Вы можете отредактировать файл hosts, расположенный под: C:\Windows\System32\drivers\etc
И просто введите строку, как
xxx.xxx.xxx.xxx hostname