Как переместить папку svn на один уровень вверх

Мне нужно переместить папку svn на один уровень вверх и сохранить всю историю

Все файлы и каталоги из https://myserver.com/svn/Project/trunk/ в https://myserver/svn/Project/

Я использую команду:

svn move https://myserver.com/svn/Project/trunk/ https://myserver/svn/Project/

но он говорит:

svn: невозможно переместить путь https://myserver.com/svn/Project/trunk/ '  в себя

Кто знает, как я могу решить эту проблему? Спасибо!

Ответ 1

Если вы хотите использовать TortoiseSVN, вы можете просто переместить папку в браузере репозитория. Вот как я обычно перемещаю папки, очень простые и безболезненные.

Ответ 2

Я просто искал это. Затем я начал искать решение, и я действительно не нашел его, кроме того, что он заставлял меня думать о решении.

Вы ожидаете, что команда svn mv ./folder ./ переместит все с ./folder на ./. На самом деле это не так, оно перемещает folder в текущий каталог. Так как это уже есть, команда не работает.

Итак, решением было бы переместить все внутри ./folder на ./. В самом деле, следующая команда делает именно это:

svn mv ./folder/* ./

Ответ 3

Я не знаю, можете ли вы переместить его таким образом, лично я бы проверил репозиторий, переместил папку в файловую систему, а затем зафиксировал изменения, удалив ее в одном месте и добавив в другой.

Ответ 5

Сегодня у меня возникла аналогичная проблема, но я не знал, как переместить ее из черепахи, так как у меня также были настройки для этой папки.

Если новое местоположение https://myserver/svn/Project/ должно содержать только элементы из вашего старого местоположения, вот что я сделал:

  • Перемещено https://myserver.com/svn/Project/trunk/ в новое временное местоположение (например, https://myserver/svn/TempProject/);

  • Удалено существующее место, которое вы хотите использовать (https://myserver/svn/Project/);

  • Переименовано https://myserver/svn/TempProject/ в https://myserver/svn/Project/.

Это сработало для меня. Он сохранил всю историю, настройки svn и т.д. История только что получила пару новых записей из всех движущихся вещей.

Ответ 6

Я не верю, что вы можете перейти непосредственно к существующему каталогу (особенно к корню репозитория). Может быть, вариант --force может помочь.

Если вы можете проверить весь репо, вы можете переместить все каталоги с магистрали на верхний уровень, это похоже на более надежное решение

svn mv * ..

* не поддерживается некоторыми клиентами svn

Ответ 7

  • зайдите в https://myserver.com/svn в какую-то рабочую копию
  • удалить каталог "Проект"
  • скопировать последнюю версию Project/trunk в корень рабочей копии.
  • совершить