Копирование дважды вызывает ветку внутри ветви вместо ошибки

У меня нормальная структура SVN:

http://server/DEV/Project/trunk
http://server/DEV/Project/branches

Затем я разветвляюсь с помощью следующей команды:

svn copy -m "message" "http://server/DEV/Project/trunk@123" "http://server/DEV/Project/branches/rel123"

Все отлично работает, а содержание /trunk@123 находится под новым путем ветви /branches/rel123, Все хорошо.

Добавлено: /DEV/Project/branch /rel123 (Копировать по пути: /DEV/Project/trunk, Revision, 123)

Эта проблема:

Если кто-то случайно выполнит ответвление снова, я ожидаю, что оно завершится с ошибкой "svn: E160020: Путь 'rel123' уже существует". Однако это не подводит.

Повторяя то же самое svn copy Команда по сути копирует /trunk в /branches/rel123/trunk

Добавлено: /DEV/Project/branch /rel123/trunk (Копировать по пути: /DEV/Project/trunk, Revision, 123)

Так что теперь я в конечном итоге /branches/rel123 который содержит все файлы со ствола, плюс дополнительная папка "ствол" (/branches/rel123/trunk), который также содержит все те же файлы со ствола.

Я пытался:

Я попытался завершить пути, чтобы заставить SVN понять, что это абсолютное имя каталога, но не повезло (я вычеркнул http://server часть в примерах ниже)

svn copy -m "message" "/ DEV / Project / trunk @ 123 / " "/ DEV / Project / branch / rel123"
svn copy -m "message" "/ DEV / Project / trunk / @ 123" "/ DEV / Project / branch / rel123"
svn copy -m "message" "/ DEV / Project / trunk @ 123" "/ DEV / Project / branch / rel123 / "
svn copy -m "message" "/ DEV / Project / trunk @ 123 / " "/ DEV / Project / branch / rel123 / "
svn copy -m "message" "/ DEV / Project / trunk / @ 123" "/ DEV / Project / branch / rel123 / "

Кто-нибудь испытывает это? Это известная проблема? Какие-нибудь обходные пути, чтобы предотвратить эту ошибку "ветвь в ветке"?

1 ответ

Решение

Это особенность. Это позволяет вам делать такие вещи, как:

svn move *.txt docs

поместить все файлы.txt в подкаталог.

Это отражает то, как работает любая из команд оболочки "mv", "move", "cp", "copy", "xcopy" или "robocopy".

Другие вопросы по тегам