SVN windows平台服务端架设

 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,如需转载请自行联系原作者




上一篇:配置hooks使svn提交后自动同步客户端代码(客户端与服务端在同一台机器上)


下一篇:Vue快速上手的第一个项目—— todo-list