CVS学习实验记录

CVS学习实验记录

        由于临时有个小项目,向公司申请CVS立项是件很麻烦的事情,所以只有自动动手搞一个CVS服务器了,网上找了很多资料,发现资料非常混乱,有2/3是UNIX系统的,有1/3是windows的,但大多是cvsnt2.04的,不知道别人怎么弄的,自己耗费了许多时间总也不成功,发现新的版本已经是2.5.03的了,命令都改了,还学什么.只好自己一点点的弄了,关键是实现权限控制,麻雀虽小,五脏俱全.

     环境搭配:

      Cvsnt   :  2.5.03,下载地址:http://www.cvsnt.org

      Wincvs  :  1.3b中文版,下载: www.8848software.com/wincvs

      操作系统 :  windows XP

实现过程参考前面一篇转的blog

      1.admin文件        

      这个文件记录cvs服务器的管理员,把账户名写进去然后在checkoutlist文件中加入admin文件名(需先checkout checkoutlist文件,修改后再提交才能生效,不能在服务器改)

       所谓管理员,就是能给别人分权限

     2.congfig文件

       这个文件记录是否采用系统验证,同样需先checkout,修改后再commit才能生效

     3.muldes文件

       这个文件记录当前仓库有的项目/模块,不写发现也可以

     4.group文件

       这个文件记录用户的分组,涉及到权限分配,建议把所有的用户分组,不然cvs默认用户拥有所有权限.

      5.wincvs1.3中的cvs.exe太老不支持chacl命令,所以我从cvsnt中考了cvs.exe,覆盖下就OK了

    6.权限控制

       为用户分配权限,首先使用cvs管理员登陆,然后checkout到本地cvs目录,注意不可以在服务器上的cvs仓库使用命令 

       cvs chacl -a [no]read|write|tag|control|all -u user cvs在新的版本中命令已经变了

      如取消用户权限: cvs chacl -a noread -u hy(要取消的用户名或者用户组名)  不要使用网上说的 cvs chacl default:n

      增加权限控制: cvs chacl -a nowrite -u hy(要取消的用户名或者用户组名) 

      在命令提示符下要能使用首先要配置CVSROOT的环境变量,具体配置网上搜索.

    

 我总结出来的权限管理思路:

      (1)首先把所用账号都分成不同的组,然后用组来管理权限.

      (2)每新增一个模块,在本地的cvs目录上调用一下 cvs chacl -anoread -u 用户组,再为这个项目组员单独分配权限.这样权限就控制到了工程目录级别,

      (3)设置某个组员在项目下某个目录不可以写,如不让项目组中的新手改WEB-INF下的配置文件,可以在命令提示符下访问WEB-INF目录 调用:cvs chacl -a nowrite-u hy whai(可以有多个用户)

      (4)删除用户的权限设置 cvs chacl -d -u hy

      (5)列出项目下的权限控制 cvs lsacl

      (6)更改项目所有者 cvs chown hy

       

你可能感兴趣的:(CVS学习实验记录)