Подтвердить что ты не робот

Как переименовать ветки SVN и ссылки на обновление в существующей песочнице?

Мне нужно было переименовать ветвь SVN, поэтому я сделал:

$ svn move https://server/repos/myrepo/branches/oldbranch \
    https://server/repos/myrepo/branches/newbranch

До сих пор так хорошо - отрасль была переименована.

Проблема в том, что у нас есть выделенные песочницы, и когда я пытаюсь обновить, я получаю эту ошибку:

$ svn update
svn: Target path '/branches/oldbranch' does not exist

Довольно очевидная ошибка. После быстрого поиска я подумал, что нашел решение: Перемещение рабочей копии SVN после переименования ветки

Проблема в том, что когда я пытаюсь выполнить эту команду, я получаю еще одну ошибку:

$ svn switch --relocate https://server/repos/myrepo/branches/oldbranch \
    https://server/repos/myrepo/branches/newbranch
svn: Relocate can only change the repository part of an URL

Насколько я вижу, я использую команду --relocate так же, как Sander Rijken. Любые идеи, почему я получаю эту ошибку?

4b9b3361

Ответ 1

Просто сделай

svn switch https://server/repos/myrepo/branches/newbranch

из вашей рабочей копии.

Ответ 2

Для изменения относительного пути вы должны использовать чистый svn switch (и в любом случае switch --relocate устарел), как написано в svn help switch для 1-го класса

switch URL[@PEGREV] [PATH]Обновите рабочую копию, чтобы зеркалировать новый URL-адрес в репозитории.

 This behavior is similar to 'svn update', and is the way to
 move a working copy to a branch or tag within the same repository.

I.e в корне WC для oldbranch, который теперь newbranch, вы должны использовать

svn switch ^/branches/newbranch

Ответ 3

Если вы просто хотели переименовать ветвь SVN в Eclipse, проще всего было бы перейти в репозиторий SVN Exploring Perspective, а затем щелкнуть правой кнопкой мыши по вашей ветке → Refactor- > Rename