由于项目的需要,需要配置SVN,以前只是很浅的了解,导致这次走了很多弯路。
下面把今天配置SVN所得写下:
首先安装SVN:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
之后创建SVN仓库,同时把www-data加入到subversion组中,便于通过http访问SVN
sudo addgroup subversion
sudo usermod -G subversion -a www-data
之后创建文件夹
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
创建 SVN 文件仓库:
$ sudo svnadmin create /home/svn/myproject
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
$ sudo chmod -R g+rws myproject
查看txn-current-lock文件的权限和用户以及组信息,应该类似于:
$ ls -l /home/svn/myproject/db/txn-current-lock -rw-rwSr-- 1 root subversion 0 2009-06-18 15:33 txn-current-lock
有五种访问方式:
下面只使用第一种和第二种:
模式 | 访问方法 |
file:/// | 直接访问本地硬盘上文件仓库 |
http:// | 通过 WebDAV 协议访问支持 Subversion 的 Apache 2 Web 服务器 |
https:// | 类似 http://,支持 SSL 加密 |
svn:// | 通过自带协议访问 svnserve 服务器 |
svn+ssh:// | 类似 svn://,支持通过 SSH 通道 |
通过 WebDAV 协议访问(http:// )
要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:
<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。
之后重启apache
接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:
sudo htpasswd -c /etc/subversion/passwd user_name
它会提示您输入密码,当您输入了密码,该用户就建立了。“-c”选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可:
sudo htpasswd /etc/subversion/passwd other_user_name
您可以通过下面的命令来访问文件仓库:
$ svn co http://hostname/svn/myproject myproject --username user_name
它会提示您输入密码。您必须输入您使用 htpasswd 设置的密码。当通过验证,项目的文件就被签出了。
常用命令:
1、svn co -r [num] http:
//
192.168
.
1.1
/
pro
/
domain
--username user_name
2、
svn
add test.php
3、
svn commit -m "add test file for my test" test.php
4、svn up
其他看URL:http://www.uml.org.cn/pzgl/200908148.asp
http://wiki.ubuntu.org.cn/SubVersion