SVN Subversion CollabNet Edge 版本控制 配置详情

来源:互联网 发布:管家婆软件好不好用 编辑:程序博客网 时间:2024/06/05 10:54
访问方法---如果没有创建版本库是不能访问的trunk文件夹是创建版本库是可选的---没有创建trunk可以忽略这一级
http://IP/svn/版本库名/trunk/工程名

此安装包集成了SVN、Apache、ViewVC,安装过程极其简单,省略了很多复杂的配置过程。其需要Java运行时间库,如之前未安装JRE6,则在安装过程会自动下载。

××××××××××安装完成后的配置:××××××××××
1、按照提示访问 http://localhost:3343/csvn 控制台页面,用admin用户登录(初始密码admin)。
2、登录后创建新版本库,并启动版本库,此时ViewVC可能工作不正常,因此重启主机(重启前建议先打开“控制面板”-“管理工具”-“服务”,找到“CollabNet Subversion Edge”这个服务,将该服务停止)。
3、重启主机后,在此软件的安装目录下找到launch.html并打开,页面上访可能出现“限制此文件显示可能访问您的计算机的活动内容”,点击并“允许阻止的内容”。然后访问页面 http://localhost:3343/csvn 即可正常使用所有功能。
4、在状态页面显示的访问链接中,原使用的是主机名,只能在服务器主机上访问,在其他客户端电脑上无法用此链接访问。为解决此问题在管理页面,将主机名改为主机IP地址,状态页面显示的访问链接会自动修改为IP地址。
5、客户端可使用 http://HostIP:80/svn/ 访问版本库,使用 http://HostIP:3343/csvn 访问控制台页面,其中HostIP为该服务器IP地址,如10.50.15.99等。
6、通过控制台页面,普通用户可修改自己的密码,管理员用户可进行用户添加、密码修改、权限定义、创建新版本库、备份等操作。
7、若版本库名称中含有中文字符,由于ViewVC对中文支持有些问题,会导致按照状态页面提示的 http://HostIP/viewvc/ 链接访问时显示的版本库名称为乱码,而且在版本库页面点击该版本库的链接时无法显示。这个BUG影响不大,可改用状态页面提示的http://HostIP/svn/ 链接进行访问。

××××××××××重启主机后SVN服务器控制台不能正常启动的处理方法:××××××××××
    当SVN服务器主机关机重启后,有时SVN服务器的控制台(http://localhost:3343)可能会无法正常启动,表现为该页面不能显示,或者该页面虽能显示,但输入正确的用户名密码却不能登录。
    如果发生此现象,先检查一下SVN服务是否正常,查看http://localhost/svn/是否正常显示。如果SVN服务正常,那么就仅仅是控制台的问题了,这时可重新运行SVN服务器的安装包,会有3个选项:安装、卸载和修复,选择repair可解决这一问题,而且不会影响原有已建立的版本库、用户ID和权限配置。
    在repair之后,如何还不能正常启动控制台,可打开“控制面板”-“管理工具”-“服务”,找到“CollabNet Subversion Edge”这个服务,将这个服务重启,然后再打开SVN服务器安装目录下的launch.html,稍等片刻后应该就都正常了。
    这应该是服务器安装包的一个BUG,目前若要避免此问题,可尽量避免服务器关机,或者试试在关机前通过“控制面板”-“管理工具”-“服务”先停止“CollabNet Subversion Edge”这个服务。

××××××××××权限的配置方法:××××××××××
首先在用户页面定义用户,然后在版本库页面,手工填写访问规则。
以下面的配置为例(实际配置中应删除“//”及其后的注释):
[groups]               //定义用户组
qa = yangxia,liling    //定义了一个组,组名为qa,其中有用户yangxia和liling
allqa = tswang,@qa     //定义了另一个组,组名为allqa,其中有用户tswang和qa这个组中的yangxia、liling

[/]                    //定义各版本库的父目录的访问权限
* = r                  //对于各版本库的父目录,所有人(*)都具有只读(r)权限

[SVNEdgeTest:/]        //定义名为SVNEdgeTest的这个版本库的访问权限
* =                    //对于SVNEdgeTest这个版本库及其下的各层文件夹,所有人都没有任何权限
admin =rw              //对于SVNEdgeTest这个版本库及其下的各层文件夹,admin这个用户拥有读写权限
@allqa = rw            //对于SVNEdgeTest这个版本库及其下的各层文件夹,allqa这个组的用户拥有读写权限

[SVNEdgeTest:/tags]    //定义SVNEdgeTest版本库下面的tags这个文件夹的访问权限
@qa = r                //对于SVNEdgeTest版本库下面的tags这个文件夹及其下的各层文件夹,qa这个组的用户拥有只读权限

下层文件夹会继承上层文件夹的用户权限,因此对于上面的规则,最终的效果是:
1、所有人都可以访问http://HostIP:80/svn/这个地址,可以看到下面有哪些版本库;
2、对于SVNEdgeTest这个版本库及其下的各层文件夹,admin、tswang、yangxia、liling拥有读写权限;其他人对这个版本库没有任何权限(不能读也不能写),但可以只读权限访问其他版本库;
3、对于SVNEdgeTest版本库下面的tags这个文件夹,admin、tswang拥有读写权限;yangxia、liling拥有只读权限(只能读不能写),但可以对tags之外的其他文件夹保持读写权限;其他人对此无任何权限。

××××××××××与TRAC的配合使用:××××××××××
该Edge版的Collabnet SVN服务器安装包单独使用时非常方便,但在与任务跟踪工具TRAC配合使用时存在问题,若要完美集成SVN和TRAC,建议使用非Edge版的Collabnet Subversion服务器端安装包。目前只能部分解决,遗留问题是在TRAC环境中无法通过“源码浏览”查看SVN版本库。


专注移动开发!继续前行~


0 0
原创粉丝点击