这篇文章记录本人在Windows7下第一次安装和配置SubVersion,安装过程中参考了很多网上的资源,但随着软件版本的更新有些出入,特此记录本人亲自安装过程。
安装程序
- Setup-Subversion-1.6.17Subversion服务端1.6安装程序
- TortoiseSVN-1.6推荐使用的一个Windows资源管理器集成的svn客户端工具
- 使用手册SubVersion与TortoiseSVN的中文版使用手册
独立服务器SVNServer的配置
-
1. 安装Subversion和Tortoise
直接运行Setup-Subversion-1.617.msi安装Subversion,安装过程中按提示选择好安装位置,如F:\Program Files\SubVersion
直接运行TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi,按提示完成安装,安装之后会提示重启
-
2. svnserve作为Windows服务
使用命令行工具SC.EXE定义新的服务。将 svnserve 安装为 Windows 服务,执行下面的命令,创建一个当 Windows 启动后,自动启动的服务
注意 sc 的命令行很特殊。在 key= value 对中,key 与 = 之间不能有空格,但是在 value 之前,必须有空格。如displayname= "Subversion" ,"Subversion"之前要有个空格
服务创建成功后,可以在控制面板->系统和安全->管理工具->服务,查看到SubVersion服务并可以手动对该服务进行重启或停止操作。
-
3. 建立版本库
以F:\SvnTest作为版本库的根目录,用已安装Subversion的bin目录下的svnadmin创建,如下图运行命令:svnadmin.exe create F:\SvnTest\test 则可在F:\SvnTest下建立一个版本库test。
若创建成功则test目录下会自动创建好conf,db,hooks等目录和readme.txt、format文件。需要注意的是在服务端项目文件是经过编码后进行存储的,是不能直接查看到原文件的
-
4. 配置版本库
- A. 找到版本库的conf目录,如F:\SvnTest\test\conf
-
B. 首先编辑svnserve.conf文件,注意去掉注释后每行前面不能留有空格
Line 12 :去掉注释,修改为顶格写,表示不允许匿名访问 anon-access = none Line 13 :去掉注释,修改为顶格写,表示允许授权写访问 auth-access = write Line 18 :去掉注释,修改为顶格写,表示使用passwd配置文件来设置用户名和密码。 password-db = passwd Line 25 :去掉注释,修改为顶格写,表示使用authz配置文件来设置权限分组管理。 authz-db = authz
-
C. 编辑passwd 文件,配置用户名和密码,如:
[users]
admin = admin
deve1= deve1
deve2 = deve2
test = test -
D.编辑authz文件,配置权限分组,如:
[groups]
Manager = admin
Developer = deve1,deve2
User = test
[/]
@Manager = rw
@Developer = rw
test = r
[test:/hello]
@Manager = rw
test =其中[groups]为用户的分组,等号前面为组名后为用户名。[/]则表示为版本库根目录分配权限,@manager = rw 表示属于manager组的用户可以都根目录下的所有目录和文件具有读写权限。
[test:/hello]表示为test版本库下的hello分配权限,,如test = 则表示test用户不能访问hello
用户配置完成后,需重启Subversion服务
-
5. 测试版本库
A. 在资源管理器中,选中自己的工作目录,如“F:\test”;右键选择“Svn CheckOut”菜单;
B. 在弹出的CheckOut对话框中,选择url为“svn://[服务器IP地址]/test”,我测试时服务端和客户端在同一机子上,所以输入的url为“svn://localhost/test”然后点击OK;接着会弹窗要求输入用户名和密码,填入先前设置的用户和密码再确定,后面对话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed At Version 0”,因为这时版本库中无任何文件。
C.如果可以checkout,则证明整个库配置完成,这时test文件夹图标上会多个绿色的对勾。