*文件说明:
服务端程序:Setup-Subversion-1[1].6.2.msi
客户端程序:TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi
客户端中文补丁包:LanguagePack_1.6.6.17493-win32-zh_CN.msi
注:对于客户端需要明确区分x86和x64的目标系统和相应安装包,但服务端的话x64系统是可以装x86的安装包的
*名词解释:
版本库:服务端存储版本信息的数据库,一个服务端可以创建n个,每个库可以拥有n个用户
*服务端安装:
1.运行Setup-Subversion-1[1].6.2.msi,一路next
2.安装后的文件说明:
bin/svnserve.exe 服务端程序可执行文件
3.将bin文件夹加入环境变量,以便能够访问svnadmin
*客户端安装:
1.运行TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi,一路next,安装完成后按提示重启计算机
2.运行中文补丁包,完成后设置为中文:在任意文件夹空白处右键->TortoiseSVN->setting->常规->语言
3.创建版本库:在服务端创建一空文件夹,假设为D:/root,然后在其上点击鼠标右键->TortoiseSVN->在此处创建版本库,创建成功后在此文件夹下会产生一些版本数据库文件
4.配置版本库:在版本库目录文件夹conf下包含svn服务端的3个配置文件,里面都有详细的使用说明
需要修改的内容如下:
svnserve.conf文件:
去掉默认注释以下三项前的井号
anon-access = none //匿名用户没有任何权限
auth-access = write //认证用户具有可写权限
password-db = passwd
passwd文件:
[users]下的内容是当前版本库所有认证用户的用户名和密码列表
比如要添加一个用户zl,密码为123,则写为
zl=123
注意前边不要有空格,否则svn服务程序识别不了
*命令:
将svn启动版本库操作创建为windows的服务:
由于启动版本库是在命令行中,启动后需要保持命令的打开,所以将其创建为服务会比较方便
命令如下:sc create SVNService binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service -r D:/root" displayname= "SVNService" depend= Tcpip start= auto
命令行启动版本库D:/root:svnserve -d -r D:/root
以上D:/root为所有资料库的根目录,在此目录下可新建多个不同的资料库,每个库使用自己的配置项,如下:
cd D:/root
svnadmin create resp1,将生成D:/root/resp1
svnadmin create resp2,将生成D:/root/resp2
若启动目录设为D:/root,那么以上资料库分别这样访问svn://hostip/resp1和svn://hostip/resp2
若启动目录设为D:/root/resp1,那么这样访问第一个库resp1: svn://hostip/,这样就无法访问库resp2
*导入导出和迁移
1.导出(在老服务器上)
svnadmin dump -r 0:HEAD resp1 >resp1.dump
2.将dump文件弄到需要导入的服务器上
3.在新服务器上创建库svnadmin create resp1
4.导入(注意dump文件路径和库路径,按实际情况自行修改)
svnadmin load resp1 < resp1.dump
5.将老服务器conf目录下的三个配置文件copy到新服务器上覆盖,然后修改文件里涉及路径的地方为新环境的正确 路径
6.重启新的svn服务
7.客户端切换:svn根目录上右键->svn菜单->relocate,然后修改url为新服务的地址即可
注意:
1.在sc create命令里的参数和值之间的等号右边必须存在一个空格,如start= auto,另start= demand为需要的时候再行启动
2.使用svnadmin创建的资料库可以使用url访问,若使用客户端创建的就不行(我没试过),都使用svnadmin创建即可