Перебазирование рабочей копии

Рисунок 4.65. Диалог перебазирования

Диалог перебазирования


Если у вашего хранилища по каким-то причинам изменилось размещение (IP/URL). Возможно у вас застопорилась работа и не можете пока фиксировать, и при этом не хотите извлекать рабочую копию заново из нового размещения и затем перемещать все изменения в новую рабочую копию, команда TortoiseSVNПеребазировать то что вам нужно. Она делает очень простую вещь: переписывает все адреса URL для каждого файла и папки новым адресом URL.

Примечание

Эта операция работает только в корне рабочей копии. Так что пункт в контекстном меню показывается только в корнях рабочих копий.

Вы можете быть удивлены, обнаружив, что TortoiseSVN связывается с хранилищем в процессе выполнения этой операции. Всё что он делает - это выполняет несколько простых проверок, чтобы убедиться, что новый URL действительно ссылается на то же хранилище, что и существующая рабочая копия.

Предупреждение

Это очень редко используемая операция. Команда перебазирования используется только если изменён URL к корню хранилища. Возможные причины:

  • Был изменён IP-адрес сервера.

  • Был изменён протокол (например, с http:// на https://).

  • Был изменён путь к корню хранилища в настройках сервера.

Другими словами, перебазирование необходимо, когда ваша рабочая копия ссылается на то же место в том же хранилище, но само хранилище было перемещено.

Перебазирование не применимо, если:

  • Вы желаете перейти к другому хранилищу Subversion. В этом случае вы должны выполнить извлечение заново из нового местоположения хранилища.

  • Вы желаете переключиться на другое ответвление или папку в том же хранилище. Для того, чтобы это сделать, вы должны применить TortoiseSVNПереключить.... Прочтите «Извлечь? Или переключиться?..» для получения дополнительной информации.

Если вы применили перебазирование в любом из вышеперечисленных случаев, ваша рабочая копия будет повреждена и вы получите множество необъяснимых сообщений об ошибках при обновлении, фиксации, и т.д. После того, как это случилось, единственным решением будет выполнение свежего извлечения.