CVS安装及权限分配
CVS
日月明王
http://sunmoonking.spaces.msn.com
CVS安装及权限分配
2.1 解压
#tar xvf cvsnt-2.5.03.2151-rh9-rpm.tar.tar
2.2 包的安装
rpm -ivh cvsnt-2.5.03.2151-1.i386.rpm
2.3 建立Repository目录
groupadd cvs
useradd -G cvs cvsroot
mkdir /home/cvsroot
chown -R cvsroot.cvs /home/cvsroot
/etc/xinetd.d/ cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
port =2401
user = root
env = HOME =
server = /usr/bin/cvs
server_args = -f --allow -root=/home/cvshome pserver
}
重起#service xinetd restart 使配置生效。
2.4 设置环境变量
#vi .bash_profile
加入一行CVSROOT=:pserver:cvsroot@192.168.1.29:/home/cvsroot
*pserver是访问方式,口令认证的意思,这是最常用的方式,其他还有gserver,kserver,ext
*user是CVS服务器的用户名,
*server是CVS服务器的名称或者IP地址
*/home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员
你可以把设置放到你的shell的profile里(.bash_profile,.profile等)这样就不用每次敲一长串命令了
2.5 验证配置成功
#cvs login,输入密码看时候能成功登录
2.6 初始化repository
cvs -d /home/cvsroot init
2.7 CVS使用流程
a checkout 尽当本地没有working copy时使用
b staus 检查服务器上是否有新版本
c update 如果有,则用update同步文件
d 做你自己的修改,并保证正确
e update 看是否有人修改了你的文件
f 如果有冲突,合并冲突
g commit 提交你的修改,如果因为又有人提交修改而失败,回到e步
h 回到b步
3 管理内容
3.1 建立REPOSITORY
Su – cvsroot
cvs -d /opt/cvsroot/project1 init
3.2 建立MODEL
Su - cvsroot
cvs -d /opt/cvsroot/project1 import wwm3model vendor_version release_100
会在project1下建立wwm3model,并且将运行cvs –d的目录内的所有内容作为model的内容。vendor_version ,release_100是相应的版本
3.3 CHECK OUT
Su – vcsroot
Cvs –d /opt/cvsroot/project1 checkout wwm3model
3.4 权限设置
权限方面可以脱离OS用户权限而独立存在,可以按PROJECT来区分不同用户读写权限
得到密码
cvspasswd yourpass
REPOSITORY下有三个文件(初始并没有这三个文件,需要自己建立)
Passwd ,readers, writers
Passwd 密码文件,内容形如:
info1:zb720xIK.Cmcs:cvsroot
qwer:nxqg.qgAKcMZg:cvsroot
owner:nxqg.qgAKcMZg:cvsroot
wwm5:pUCT2qT6E334U:cvsroot
第一列是要分配给使用者的用户名,第二列是通过cvspasswd加密的密码,第三列是OS 中CVS用户
Readers只读用户文件,内容如下:
info1
qwer
owner
readers文件结构和writers一样,都是由用户名组成的单列,在这里的用户有读的权限
writers可写用户文件,内容如下
wwm5
writers文件结构和readers一样,都是由用户名组成的单列,在这里的用户有读写的权限
3.5 权限深入,按MODULE区分
[root@cvshost CVSROOT]# vi passwd
test1:HH9dq1sQ.9TPQ:cvsroot
test2:HH9dq1sQ.9TPQ:userpro7
test3:HH9dq1sQ.9TPQ:news
userpro7和cvsroot同组注意,这次没有做readers和writers两文件
[cvsroot@cvshost cvsroot]$ ls -alt /opt/cvsroot/ --repository的OS权限
drwxr-xr-x 5 cvsroot cvsroot 4096 4鏈? 5 16:33 project7
[cvsroot@cvshost project7]$ ls -alt /opt/cvsroot/project7 ---module的OS权限
drwxrwxr-x 3 cvsroot cvsroot 4096 4鏈? 5 17:05 userpro7mo
dr-xr-xr-x 4 cvsroot cvsroot 4096 4鏈? 5 17:01 CVSROOT
drwxr-x--- 7 cvsroot cvsroot 4096 4鏈? 5 16:43 cvsrootproj7
userpro7mo |
R |
w |
Test1 |
Y |
Y |
Test2 |
Y |
Y |
Test3 |
Y |
N |
cvsrootproj7 |
R |
w |
Test1 |
Y |
Y |
Test2 |
Y |
N |
Test3 |
N |
N |