Переместить рабочую копию SVN в новый каталог и пометить текущую регистрацию? - PullRequest
0 голосов
/ 13 июля 2010

Этот вопрос приходит к вам от кого-то, кто был ранее сожжен SVN и впредь боится его. Поэтому у меня есть небольшая проблема, потому что я был глуп, когда работал над своим репозиторием SVN. Я разрабатывал проект, скажем, содержащий один файл, который я только что выпустил в качестве первой минорной версии. Так что мой репозиторий SVN выглядел так:

project/
--> main.py (v1)

Обратите внимание, что я не создал обычные папки trunk, branch и tags, как я должен был. Теперь мне нужно, но проблема в том, что я с тех пор отредактировал файл! Есть ли способ, которым я могу пойти из этого:

Hard drive:
project/
--> main.py (v2)

SVN repo:
project/
--> main.py (v1)

к этому:

Hard drive and SVN repo:
project/
--> trunk/
    --> main.py (v2)
--> tags/
    --> v1/
        --> main.py (v1)
--> branch/

Спасибо за любую помощь!

PS Пожалуйста, обратите внимание, что "Переключиться на мерзавец!" не является приемлемым ответом:)

1 Ответ

2 голосов
/ 13 июля 2010

Вы можете использовать команды svn move и copy. Они могут работать с URL-адресами, что означает, что вы можете вносить изменения на стороне сервера.

Вы можете скопировать или переместить main.py (v1) в теги / v1 /, используя метод URL-> URL.

svn move --parents http://svn/project/main.py http://svn/project/tags/v1/main.py

Затем вы можете скопировать main.py (v2) в trunk / используя WC-> URL-метод.

svn copy --parents main.py  http://svn/project/trunk/main.py

Поскольку у вас нет ствола каталогов и тегов, вы можете использовать параметр --parents, он создаст каталоги, отсутствующие в пути.

См. svn help copy и svn help move для получения дополнительной информации об этих командах

P.S. На всякий случай сделайте резервную копию вашей рабочей копии.

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