создание ветки subversion после создания проекта в корне репозитория

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

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

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

Когда мы делаем 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: Нам нужно создать ветку, а в нашем репозитории НЕТ «ствола» и «ветвей», так какие команды нам нужно использовать для перемещения существующего содержимого репозитория в каталог ствола?

Спасибо,


person anjanb    schedule 28.12.2010    source источник


Ответы (2)


Выполните следующие команды в корне рабочей копии репозитория (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 в себя, хотя она выдаст вам ошибку, которую вы можете спокойно игнорировать.

person moinudin    schedule 28.12.2010
comment
Вероятно, вам следует упомянуть, что это должно быть выполнено в каталоге рабочей копии, а не в расположении репозитория в файловой системе, на которую смотрит anjanb. - person meriton; 28.12.2010

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

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

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

person meriton    schedule 28.12.2010