1.SVN服务端的配置:
安装subversion (Setup-Subversion-1.7.6.msi),安装到C:\Program Files\Subversion\
2.创建SVN存储库(repository)
建立版本库,建立的是多库,先在D盘建立一个文件夹svn,然后在这个文件夹里建立版本库,首先创建一个版本库的名称为:repository
建立版本库的方法:
svnadmin create D:\SVN\repository
repository创建完毕后会在目录下生成若干个文件和文件夹:
db目录就是所有版本控制的数据文件
hooks目录放置hook脚本文件的目录
locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端
format文件是一个文里面只放了一个整数,表示当前文件库配置的版本号
3.配置SVN服务器
配置服务器的地方就是你所建立版本库的地方
打开D:\SVN\repository /conf/svnserve.conf
找到下面的句子:
[general]
password-db = passwd
anon-access = none
auth-access = write
authz-db = authz
realm = My First Repository
去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件anon-access = none 是匿名用户不能访问,必须要有用户名和密码。(注意:一定要注意格式去掉注释后要顶格不能有空) 同样打开passwd文件,将
[users]
# harry = harryssecret
# sally = sallyssecret
chenzongliang = 123521
chenqiang = 12365
viong = 12354
格式为“用户名 = 密码”,如可插入一行:mm = mm,即为系统添加一个mm,密码为mm的用户.(注意顶格写不要有空隙)。
4.运行SVN服务器
单库下运行服务器的方式:
SVN服务器的执行如下命令:
svnserve --daemon --root D:\SVN\repository(此时svnserve只能为一个版本库工作)
可以简写为:svnserve -d -r D:\SVN\ repository (注意:这是临时打开的服务,命令执行后不能关闭窗口)
用后台服务的方式可以设置开机自动执行,执行语句为:
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN\repository "displayname= "SVNService" depend= Tcpip start= auto
多库下运行服务器的方式:
SVN服务器的执行如下命令:
svnserve -d -r D:\SVN (此时svnserve可以为多个版本库工作)
用后台服务的方式可以设置开机自动执行,执行语句为:
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN" displayname= "SVNService" depend= Tcpip start= auto
5.用户客户端访问 用户访问的地址可以写成:svn://IP地址/版本库名称
SVN服务端权限的制定
单库下设置权限:
chenzongliang,chenqiang是repository的管理者,对repository有完全权限
viong对repository只有读权限
修改 D:\svn\Repository\conf\authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = chenzongliang,chenqiang
yunwei = viong
[/]
* = r
@admin = rw
对应的组及组的用户:
group_CMMI:jsm
group_wjjc:wrl
group_xczh:sb
关于中文目录,也是没有问题的,只是注意要把authz文件转化为UTF-8无B 式,UltraEdit里显示的文件格式为U8- DOS ,具体的做法是UltraEdit打开authz文件,然后选择“文件->转换->ASCII转UTF-8”,然后保存。
利用UltraEdit我们可以将BOM 去掉。方法是:首先利用“UTF-8 TO ASCII” 件转换成本地编码,通常是GB2312码,然后再使用“ASCII TO UTF-8(UN Editing)”来转换到 UTF-8 即可
安装服务
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\svn" displayname= "SVNService" depend= Tcpip start= auto
注意:
sc是windows自带的服务配置程序,参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\",--service参数表示以windows服务的形式运行,--root指明svn repository的位置,service参数与root参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义
displayname表示在windows服务列表中显示的名字,不是任务管理器中的名字。 depend= Tcpip 表示svnserve服务的运行需要tcpip服务,start= auto表示开机后自动运行。若要卸载svn服务,则执行 sc delete svnserve 即可
sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空格,而后面必须有空格
删除服务
sc delete Svnservice
修改配置
sc config Svnservice binpath= "d:\subversion\bin\svnserve.exe --service -r E:\projectversion" displayname= "Svnservice" depend= Tcpip
设置为自启动
sc config Svnservice start= auto
启动服务
net start Svnservice
客户端:
客户端版本 TortoiseSVN-1.7.8.23174-win32-svn-1.7.6.msi,安装完成后,在其它盘建个文件夹然后右击检查,提示输入账号密码就ok
可以参考以下两篇文章:
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html
http://hi.baidu.com/davice_li/item/b356fe5f0a852e0be6c4a5a1
本文转自viong 51CTO博客,原文链接:http://blog.51cto.com/viong/978719,如需转载请自行联系原作者