您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > cvs
cvs服務(wù)器端配置/客戶端使用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/18 14:24:42 ] 推薦標(biāo)簽:

(本文在redhat 7.3/8.0/9.0上測(cè)試通過)

安裝cvs的rpm包后,服務(wù)器和客戶端都安裝了,首先配置服務(wù)器端:

1.查看是否安裝cvs
rpm -qa | grep cvs
一般安裝在/usr/bin/cvs,如果未安裝,到www.cvshome.org下載一個(gè)新的rpm安裝即可

2.建立cvs用戶組,便于管理cvs用戶
groupadd cvs

3.建立cvsroot用戶,屬于cvs組(組名必須為cvs),根目錄為/home/cvsroot,不許登陸
useradd -g cvs -s /sbin/nologin cvsroot

4.改變/home/cvsroot的目錄屬性
chmod 775 /home/cvsroot

5.初始化cvs源代碼庫,此操作生成目錄/home/cvsroot/CVSROOT,其下為一些初始化文件
cvs -d /home/cvsroot init

6.創(chuàng)建可以登陸cvs服務(wù)的用戶及密碼,需要?jiǎng)?chuàng)建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件內(nèi)容如下:
weiqiong:xxxxxx:cvsroot
chenxu:xxxxxx:cvsroot
此文件的意思是weiqiong和chenxu兩個(gè)用戶可以登陸cvs服務(wù)器,登陸后其權(quán)限為用戶cvsroot的權(quán)限
注意:cvs用戶和服務(wù)器用戶是可以不一樣的

7.xxxxxx為密碼,由以下文件生成:
vi /home/cvsroot/passwdgen.pl
文件內(nèi)容:
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5)
% 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);

my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}
";

8.如果需要密碼為:123456,則敲入:
passwdgen.pl "123456"
回車即可得到加密密碼,用其替換passwd文件中的xxxxxx

9.加入cvs服務(wù)(一般的redhat上缺省有cvs服務(wù),所以不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

10.一般cvs服務(wù)由inted來喚起,因此需要改動(dòng).netd提供的服務(wù),如果你的redhat使用的是inetd方式,
則在文件/etc/inetd.conf中加入如下的內(nèi)容:
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot
pserver

redhat7.3以上使用的是xinetd方式,所以在xinetd.d目錄下添加需要啟動(dòng)的服務(wù):
cd /etc/xinetd.d
vi cvspserver
文件內(nèi)容:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
11.重新啟動(dòng)inetd或者xinetd:
/etc/rc.d/init.d/xinetd restart

12.檢查cvspserver服務(wù)是否已經(jīng)啟動(dòng)
netstat -l |grep cvspserver
應(yīng)該有如下結(jié)果:
tcp 0 0 *:cvspserver *:* LISTEN

---------------------------------------------
以上是服務(wù)器端配置,下面是客戶端使用。為簡(jiǎn)便,本例中在本機(jī)上使用,但下列步驟適用于任何cvs客戶機(jī)。
1.設(shè)置系統(tǒng)環(huán)境變量(設(shè)cvs服務(wù)器IP為192.168.0.2,本例中為本機(jī)IP)
設(shè)置CVSROOT環(huán)境變量:
修改~/.bash_profile,加入一行
export CVSROOT=:pserver:weiqiong@192.168.0.2:/home/cvsroot
然后運(yùn)行命令 . ~/.bash_profile。

2.使用:
cvs login
敲入命令回車后提示輸入weiqiong的密碼,你按照自己設(shè)置的密碼輸入,如果沒有什么錯(cuò)誤信息出現(xiàn)是成功了。

3.導(dǎo)入舊的工程:
假定工程在/root/old/proj1/目錄中,則
cd /root/old/proj1
cvs import -m "new project proj1" proj1 vendortag
releasetag
回車,系統(tǒng)會(huì)提示工程建立完畢。

4.從cvs服務(wù)器上導(dǎo)出cvs工程:
假定要將工程放在/root/new/目錄下,則
cd /root/new
cvs co proj1
回車,系統(tǒng)會(huì)提示工程順利導(dǎo)出,出現(xiàn)目錄/root/new/proj1,里面的文件是你要修改的文件。

5.提交文件:
修改/root/new/proj1/a.c后,需要提交修改
cd /root/new/proj1
cvs ci -m "comments here" a.c
回車,系統(tǒng)會(huì)提示文件順利提交。

6.取回新版本文件:
如果自己的/root/new/proj1/a.c取回后,沒有修改,但是服務(wù)器端的a.c被他人修改了,則需要更新本地拷貝
cd /root/new/proj1
cvs update a.c
回車,系統(tǒng)會(huì)提示文件順利更新。

7.查看文件當(dāng)前狀態(tài):
cd /root/new/proj1
cvs status a.c
回車,系統(tǒng)會(huì)顯示文件的當(dāng)前狀態(tài)。

8.比較文件的新舊版本變化:
如果要比較1.2版和1.3版的區(qū)別:
cd /root/new/proj1
cvs diff -r1.2 -r1.3 a.c
回車,系統(tǒng)會(huì)顯示文件的區(qū)別。
如果要比較1.2版和當(dāng)前版本的區(qū)別:
cd /root/new/proj1
cvs diff -r1.2 a.c
回車,系統(tǒng)會(huì)顯示文件的區(qū)別。

9.查看文件被修改的記錄:
cd /root/new/proj1
cvs log a.c
回車,系統(tǒng)會(huì)顯示所有提交過程中-m選項(xiàng)所提交的文字。

10.注意:
cvs服務(wù)器上的用戶(本文中是cvsroot用戶)必須是cvs組的才能用,如果還是報(bào)repository找不到,在客戶端用戶的home目錄下touch文件.cvspass,文件是空的,但是當(dāng)你login一次服務(wù)器后自動(dòng)有內(nèi)容了。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd