создание ветки Subversion после создания проекта в корне хранилища - PullRequest
2 голосов
/ 28 декабря 2010

Pls. см. Создание ветки Subversion . Я создал репозиторий с URL http://reposerver/svn/repository/, извлек рабочую копию и начал добавлять файлы в корневой каталог вместо того, чтобы делать это в папке ствола.

Теперь нам нужно создать ветку, за исключением того, что у нас нет папки "trunk". По приведенной выше ссылке пользователь «Wrikken» предложил нам «Возможный обходной путь - создать ствол папки сейчас и переместить текущее содержимое корневого каталога sans ветки в это место».

Теперь мы не знаем, как сделать "переместить текущее содержимое корневого каталога без веток в это место". Какую команду мы должны использовать, чтобы сделать то же самое?

Когда мы делаем ls -la из / var / svn / repository, вот что мы видим

total 32
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 conf
drwxr-xr-x 3 www-data www-data   4096 2010-12-28 18:23 dav
drwxr-sr-x 6 www-data subversion 4096 2010-12-28 18:31 db
-r--r--r-- 1 www-data subversion    2 2010-12-28 18:20 format
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 hooks
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 locks
-rw-r--r-- 1 www-data subversion  229 2010-12-28 18:20 README.txt
-rw-r--r-- 1 root     root         95 2010-12-28 18:41 svn-commit.tmp

TL DR: нам нужно создать ветвь, а в нашем репозитории НЕ есть «ствол» и «ветки» Итак, какие команды нам нужно использовать для перемещения существующего содержимого репозитория в транковый каталог?

Спасибо,

Ответы [ 2 ]

1 голос
/ 28 декабря 2010

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

svn mkdir trunk
svn mv `ls | egrep -v '^branches$` trunk
svn ci -m 'Create trunk dir and move trunk contents into it.'

egrep -v '^branches$ соответствует всему, кроме branches.Команда mv будет достаточно умной, чтобы не попытаться переместить trunk в себя, хотя она будет кричать на вас с ошибкой, которую вы можете спокойно игнорировать.

0 голосов
/ 28 декабря 2010

Используйте клиент Subversion по вашему выбору.Это должно быть операция перемещения.(В отличие от CVS, перемещение файла / каталога в subversion сохраняет историю перемещенного файла / каталога.)

Например, если вы используете клиент Tortoise SVN, вот соответствующая часть файла справки:1003 *

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

...