i use Apache2 in ubuntu install subversion
httpd.conf:
<Location /project1>
DAV svn
SVNPath /home/svn/project1
AuthType Basic
AuthName "Subversion Project1"
AuthUserFile /home/svn/psdfile
AuthzSVNAccessFile /home/svn/project1/accessfile
Require valid-user
</Location>
accessfile:
[groups]
developer=user1
scm=svn
[project1:/]
*=r
[project1:/trunk]
@developer=r
@scm=rw
[project1:/branches]
@developer=rw
@scm=rw
[project1:/tags]
@developer=r
@scm=rw
i can see my repositorty in browser http://192.168.157.129/project1/
i can checkout and update with TortoiseSVN
i added a file in my workcopy
but i cannt commit it
httpd.conf:
<Location /project1>
DAV svn
SVNPath /home/svn/project1
AuthType Basic
AuthName "Subversion Project1"
AuthUserFile /home/svn/psdfile
AuthzSVNAccessFile /home/svn/project1/accessfile
Require valid-user
</Location>
accessfile:
[groups]
developer=user1
scm=svn
[project1:/]
*=r
[project1:/trunk]
@developer=r
@scm=rw
[project1:/branches]
@developer=rw
@scm=rw
[project1:/tags]
@developer=r
@scm=rw
i can see my repositorty in browser http://192.168.157.129/project1/
i can checkout and update with TortoiseSVN
i added a file in my workcopy
but i cannt commit it
Error: Can't open file '/home/svn/project1/db/txn-current-lock': Permission denied
我通过下面这个回复得到解决办法
That's a problem with the filesystem permissions on the server. It has nothing to do with http.conf.
Apache runs as some (Unix) user on the server and that user must be able to write to the repository. This is usually achieved by having the Apache user own the repository. If you are using SELinux then that must also allow Apache to write to the repository.
上面大致意思是:服务器上文件权限的问题。跟http.conf没有关系。
Apache是以一些Unix用户的形式运行的,并且那个用户应该能够读这个版本库。
这个通常是通过Apache用户拥有这个版本库来实现的。如果你要用SELinux,Apache还应该能读这个版本库。
我是在版本库的拥有者这样实现www-data:subversion
。这样就行了。