Когда я фиксирую изменения в Ubuntu Subversion, я всегда получаю сообщение об ошибке ниже.
~$ sudo svn commit -m "Initial Commit" test.txt --username akira
svn: Commit failed (details follow):
svn: Can't open file '/home/svn/myrepo/db/txn-current-lock': Permission denied
Как мне установить разрешение для txn-current-lock? Я заранее установил права доступа ниже.
~$ sudo chown -R taro:subversion myrepo
~$ sudo chmod -R g+rws /home/svn/myrepo
Как вы сказали:
Команда была
blockquote>sudo svn co http://192.168.253.130/svn/repository /home/akira/svn/repository --username akira
Это означает, что вы выписываетесь с сервера
192.168.253.130
по HTTP в локальный каталог / home / akira / svn / хранилище от имени пользователяakira
. Права на чтение / запись на SVN-сервере (централизованном хранилище) определяются программой, обслуживающей SVN через HTTP (вероятно, Apache). Apache работает какwww-data
и не может писать в/home/svn/myrepo/db/txn-current-lock
, если он не принадлежит вам.Я предлагаю вам запустить демон svnserve в качестве пользователя
svn
и использовать его вместо Apache. URLhttp://192.168.253.130/svn/repository
затем становится чем-то вродеsvn://192.168.253.130/myrepo
при использовании этого начального сценария , который в основном вызываетsvnserve --root=/home/svn --threads
как пользователяsvn
. Если вы используете локальный сервер Subversion, вы можете добавить опцию--listen-host=localhost
для дополнительной безопасности.