У меня есть репозиторий в
/var/local/svn/my_repository
Он принадлежит
www-data:www-data
Теперь я хочу создать начальную структуру репозитория, в данный момент я использую
sudo svn mkdir file:///var/local/svn/my_repository/{trunk,tags,branches} -m "initial directory structure"
Используя это, я предполагаю, что каталоги trunk, tags и branchs принадлежат пользователю root?
- Может ли это стать проблемой при дальнейшем использовании репозитория?
- Как создать начальную структуру репозитория, чтобы trunk, ветви и теги принадлежали www-data:www-data? Есть ли способ сделать это без использования http:// url, который требует от меня сначала аутентификации?
Спасибо за любую подсказку!
решение1
Вам не нужно использовать sudo для запуска svn mkdir
. Репозиторий имеет свои собственные разрешения, но subversion должна обрабатывать их для вас; интерфейс командной строки subversion (или любой другой интерфейс, такой как Tortoise SVN) должен быть общедоступным и не должен требовать прав суперпользователя для использования. Когда вы извлекаете файлы, они должны принадлежать вам.
svn mkdir
работает в двух разных режимах: он может действовать непосредственно на URL, в этом случае он также фиксирует новый каталог, или он может действовать на локальной рабочей копии. Вот что svn help mkdir
говорится по этому поводу:
mkdir: Create a new directory under version control.
usage: 1. mkdir PATH...
2. mkdir URL...
Create version controlled directories.
1. Each directory specified by a working copy PATH is created locally
and scheduled for addition upon the next commit.
2. Each directory specified by a URL is created in the repository via
an immediate commit.
In both cases, all the intermediate directories must already exist,
unless the --parents option is given.
Если вы не видите желаемых результатов при попытке запустить svn mkdir URL
, попробуйте проверить репозиторий, запустить svn mkdir
для создания тегов/ветвей/ствола, а затем зафиксировать изменения. По крайней мере, это должно дать вам больше информации, если что-то пойдет не так.