Если я понимаю Ваш вопрос правильно, Вы хотите создать единственную авторизацию - включают репозиторий, проверяют его к нескольким местоположениям и работе с ним от любого из тех местоположений. Это довольно просто, и у Вас не должно быть проблем, после того как Вы получаете свои завершенные настройки.
Я думаю, что следующие рекомендации гарантировали бы, что можно сделать то, что Вы хотите, предполагая, что я интерпретирую Ваш вопрос правильно.
1) Ваш Apache Location
конфигурация должна быть следующие:
<Location /svn>
DAV svn
SVNPath /opt/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
Это позволит Вам получать доступ к своим нескольким точкам контроля без конфликта с Вашим репозиторием. Как что-либо еще на Вашем веб-сервере, не могут конфликтовать URL, таким образом, Вы не должны делать корневой каталог хранилища тем же как корень веб-сервера (/
).
Кроме того, я изменил Ваш SVNPath
значение - это, как предполагается, каталог, где Ваши репозитории живут, не путь к одному из репозиториев самому.
2) Создайте соответствующие структуры. Ваш svnadmin create
корректно. Однако для обеспечения гибкости в будущей разработке необходимо создать trunk
, branches
, и tags
каталоги при использовании каталога проекта svn --parents mkdir
. Ваш получающийся репозиторий (получил доступ в URL http://server/svn/project.com/
) должен иметь что-то как следующая структура:
projectName
branches
tags
trunk
trunk
то, где Вы делаете всю свою работу. branches
дерево для разветвления или параллельной разработки, и tags
дерево для статических снимков Вашего кода. Вам действительно только нужно trunk
, поскольку это - то, Вы будете проверять в своем примере.
3) Только Подверсия изменяет /opt/svn/project.com
дерево для добавления/изменения содержания. Из-за этого можно только фиксировать на контроле, не способе, которым Вы указали.
Если у Вас есть файловая система с Вашим намеченным содержанием, Вы можете также:
Проверьте соединительную линию и добавьте Ваше содержание под этим:
svn co http://server/svn/project.com/projectName/trunk/ /var/www/test1.project.com
cp /var/www/project.com/foo /var/www/test1.project.com
svn add /var/www/test1.project.com/foo
svn ci /var/www/test1.project.com
Или импорт в репозиторий:
svn import /var/www/project.com http://server/svn/project.com/projectName/trunk
4) Для получения нескольких рабочих копий просто проверьте trunk
(или соответствующий подкаталог) к каждому из Ваших указанных местоположений. Затем любые модификации, фиксировавшие в одном контроле, могут быть получены, поскольку Вы указали на использование svn up
.
/opt/svn
. Можно ли обеспечить полные пути и (главным образом) реальные примеры? Также можете Вы обеспечивать больше деталь о сообщении об ошибке, которое Вы получили (можно использовать обратные галочки для выделения сообщения). – mlschechter 21 August 2010 в 03:46