SVN - Змінити робочу копію на нову шлях SVN


87

У мене є сховище SVN, яке переміщено на нову адресу / шлях. Однак у мене є робоча копія з незакріпленим вихідним кодом, який все ще вказує на старий (нині недійсний) шлях до сховища. Як змінити робочу копію на нове сховище?

Відповіді:


78

svn switch --relocateзастаріло станом на версію 1.7 диверсії. svn relocateЗамість цього скористайтеся командою.

Це приймається як аргументи, так FROM-PREFIX TO-PREFIX [PATH...]і TO-URLяк аргументи.

Подивитися

svn help relocate

для отримання додаткової інформації.


58

Використовуйте svn switchкоманду з --relocateопцією командного рядка.


1
Дякую. Це те, що я використав: svn switch --relocate файл: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano

Не виправляє URL-адреси у файлі svn: externals. Будь-яка ідея, як це зробити?
Аксель Брегнсбо,

26

Використання TortoiseSVN

  1. Клацніть правою кнопкою миші на робочій копії та виберіть "SVN Switch ..."
  2. У формі "Переключитися на гілку" Виберіть новий шлях SVN

Використання команди

  1. Відкрита консоль
  2. Перейдіть до робочої копії cd [working copy path]
  3. Напишіть команду svn relocate [new url]

Це застосовується лише у випадку використання TortoiseSVN, який на плакаті не вказував, що він або вона використовує.
zck

Привіт @zck, будь ласка, зверніть увагу, що я написав 2 рішення в одній відповіді спочатку TortoiseSVN, а друге - Команда, ця команда застаріла для диверсії загалом. Ви можете переглянути цю сторінку svn relocate / svn Підкоманди
Ахмед Абдалла

Ну, ваша відповідь була відредагована після того, як я прокоментував, включивши спосіб командного рядка. Ця відповідь на командний рядок була опублікована вже в червні, тому немає потреби її повторювати.
zck

Ні, я розміщу відповідь в її поточних словах мою редакцію лише для покращення форматування; і я думаю, що команда, яку я написав, є більш чіткою, ніж та, що була написана в червні
Ахмед Абдалла

Графічний інтерфейс TortoiseSVN вимагає натискання кнопки "перемістити", а не перемикання. Що має сенс, враховуючи командний рядок .. Не впевнений, що буде робити комутатор - здавалося, він намагався отримати доступ до старої та нової URL-адрес, чогось я не хотів робити.
Джерард

12

Якщо бути точнішим

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Наприклад:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

Використання TortoiseSVN tortoisesvn docs

  1. Перейдіть до кореневої папки робочої копії
  2. Клацніть правою кнопкою миші, клацніть TortoiseSVN Підменю, клацніть Перемістити.
  3. Введіть новий шлях

1

Дуже просто :

Крок 1: Відкрийте командний рядок / термінал і встановіть робочий шлях

Крок 2: Виконайте цей рядокsvn switch --relocate http://newurl


0

Я змінив свій svn-сервер, щоб змусити перенаправити все з HTTP на HTTPS (і це могло бути перенаправлення на будь-яку іншу URL-адресу), і я помітив, що ця svn relocateкоманда викликає багато проблем із зовнішніми програмами. На щастя, я виявив, що найпростіше було просто зробити це, svn updateі завдяки перенаправленню сервера svn він оновив усі сховища URL-адрес у локальній робочій копії, включаючи зовнішні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.