1、 CVS簡述
2、
CVS服務器的安裝
默認情況下,CVS在Redhat Linux中已經安裝,這一點可以通過在Linux命令行的情況下運行:
rpm –q
cvs
如果出現CVS的版本信息就證明已經安裝成功了。
CVS服務器安裝包可以從網上的很多地方下載,也可以到CVS的官方網站進行下載。根據你所使用的系統,下載相應的版本,然后進行安裝。因為我們的項目是在Redhat
Linux下使用CVS服務器進行版本管理,所以本文將主要基于Redhat
Linux進行介紹。首先下載CVS服務器的rpm包,當然也可以下載其它方式的包如源程序包,然后采用以下命令進行安裝:
rpm -ivh cvs-1.11.7-1.i386.rpm
3、 CVS服務器的配置
安裝完之后的第一件事就是要配置CVS服務器的配置文件,使其能正常的工作。首先在/etc/services文件中添加cvspserver,使其成為Linux的一種服務也就是cvs服務器例程的入口,配置如下:
cvspserver 2401/tcp # cvs client/server
operations
cvspserver 2401/udp # cvs
client/server operations
如果文件中已經存在上面的兩行文字,就不用添加了。
4、
配置xinetd,用xinetd來啟動CVS驗證服務器:
進入到/etc/xinetd.d/目錄,然后編輯一個文本文件,名字一定要與/etc/services中的入口名字cvspserver一致,所以這里用cvspserver作為文件名,文件的內容如下所示:
service cvspserver
{
disable = no
flags =
REUSE
socket_type = stream
wait = no
user =
root
server = /usr/bin/cvs
server_args = -f
--allow-root=/usr/cvsroot pserver
log_on_failure +=
USERID
}
編輯文件之后測試cvspserver服務是否配置成功。
執行
/etc/init.d/xinetd
restart
重新啟動服務,啟動成功之后,執行下面的語句,驗證服務是否啟動正常:
telnet localhost
2401
如果出現如下字樣:
Trying 127.0.0.1...
Connected to localhost.
Escape
character is '^]'.
輸入hi,會繼續輸出如下字樣
cvs [pserver aborted]: bad auth protocol
start: hi
Connection closed by foreign
host.
出現以上的現象表示CVS用戶驗證服務器已經配置成功。
如果出現如下字樣,表示配置不成功,請重新檢查以上的配置:
Trying
127.0.0.1...
telnet: connect to address 127.0.0.1: Connection
refused
5、
配置CVS用戶:
首先建立一個用戶組cvs,可以使用groupadd或者addgroup命名,也可以直接編輯/etc/group文件添加這個組,然后添加一個用戶cvsuser:
groupadd
cvs
useradd cvsuser –g cvs
passwd
cvsuser
設置新的密碼。
在/usr目錄下建立cvsroot目錄(也可以在其它的目錄下建,但是應該和cvspserver文件中的選項一致),然后修改/usr/cvsroot的屬主及屬性:
cd
/usr
mkdir cvsroot
chown –R cvsuser.cvs cvsroot
chmod –R 771
cvsroot
6、
初始化CVS服務器
安裝完CVS服務器之后的另一件重要的事情就是要初始化CVS服務器的根目錄,以后創建的CVS項目都將建立在這個目錄下,采用的命令如下:
cvs
–d /usr/cvsroot
init
如果沒有任何提示,表示初始化成功。初始化成功之后,會在/usr/cvsroot目錄中創建CVSROOT目錄,目錄中有如下文件:
-r--r--r--
1 root root 493 Apr 5 20:19 checkoutlist
-r--r--r-- 1
root root 693 Apr 5 20:19 checkoutlist,v
-r--r--r-- 1
root root 760 Apr 5 20:19 commitinfo
-r--r--r-- 1 root
root 960 Apr 5 20:19 commitinfo,v
-r--r--r-- 1 root
root 527 Apr 5 20:19 config
-r--r--r-- 1 root root
727 Apr 5 20:19 config,v
-r--r--r-- 1 root root 753 Apr 5
20:19 cvswrappers
-r--r--r-- 1 root root 953 Apr 5 20:19
cvswrappers,v
-r--r--r-- 1 root root 1025 Apr 5 20:19
editinfo
-r--r--r-- 1 root root 1225 Apr 5 20:19
editinfo,v
drwxrwxr-x 2 root root 4096 Apr 5 20:19
Emptydir
-rw-rw-rw- 1 root root 0 Apr 5 20:19
history
-r--r--r-- 1 root root 1141 Apr 5 20:19
loginfo
-r--r--r-- 1 root root 1341 Apr 5 20:19
loginfo,v
-r--r--r-- 1 root root 1151 Apr 5 20:19
modules
-r--r--r-- 1 root root 1351 Apr 5 20:19
modules,v
-r--r--r-- 1 root root 564 Apr 5 20:19
notify
-r--r--r-- 1 root root 764 Apr 5 20:19
notify,v
-r--r--r-- 1 root root 649 Apr 5 20:19
rcsinfo
-r--r--r-- 1 root root 849 Apr 5 20:19
rcsinfo,v
-r--r--r-- 1 root root 879 Apr 5 20:19
taginfo
-r--r--r-- 1 root root 1079 Apr 5 20:19
taginfo,v
-rw-rw-rw- 1 root root 0 Apr 5 20:19
val-tags
-r--r--r-- 1 root root 1026 Apr 5 20:19
verifymsg
-r--r--r-- 1 root root 1226 Apr 5 20:19
verifymsg,v
這樣目錄/usr/cvsroot就成為CVS服務器的根目錄,以后創建的目錄都將默認的存放在這個目錄下。
7、
登錄cvs服務器(在Linux或其它Unix系統下進行登錄的情況):
輸入如下命令:
cvs -d
:pserver:cvsuser@localhost:/usr/cvsroot
login
提示輸入密碼,輸入上面設置的密碼,如果沒有任何提示,就證明成功登錄了
第一次登錄會有cvs login: warning: failed to open /home/cvsuser/.cvspass for reading: No such file or directory類似的提示信息.以后登錄就不會有了.
登錄成功之后在當前用戶的$HOME目錄中生成.cvspass文件,可以利用vi對文件進行察看。
由于以“.”開頭的文件在Linux中是隱藏的,所以可以利用如下命令進行察看:
ls
–a
這個文件記載了用戶的登錄信息。執行注銷命令可以刪除該文件中的登錄信息
cvs -d
:pserver:cvsuser@localhost:/usr/cvsroot logout
下面對登錄命令的語法進行說明:
其中,:pserver表示采用pserver方式進行用戶登錄認證,一般的CVS服務器都采用這種方式,當然也可以采用其它方式,具體參考相應的資料;
:cvsuser表示要登錄的用戶名,只要是cvs組的成員都可以,如:cvsuser;
@host表示要登錄的服務器,可以是DNS名,也可以是IP地址,如:192.168.0.1;
:/usr/cvsroot表示CVS在服務器上的目錄,也可以是其它目錄(由第6中你所指定的用來做init初始化的目錄決定);
提示:
a、也可以把export
CVSROOT=:pserver:cvsuser@192.168.0.1:/usr/cvsroot這一句直接寫在用戶的初始化文件中(如:.bash_profile),這樣用戶每次登錄時,只需輸入:
cvs login
然后輸入相應的口令就可以登錄到cvs服務器上。
b、如果是本地登錄,可以直接把export
CVSROOT=/usr/cvsroot這一句寫在用戶的初始化文件如:/etc/profile中;然后執行如下命令使環境變量生效:
source
/etc/profile
8、
向CVS添加新的項目模塊
一般我們都已經有一個或多個項目了,這樣我們可以用下面步驟生成一個新的CVS項目。將一個工程文件置于CVS中進行版本控制,在CVS
術語中稱作導入(import)。從名字上就可以看出,在導入前需要為此作些準備工作。
輸入操作的基本要求是有個"干凈"的目錄結構。"干凈"的意思是不需要版本控制的文件都被移走了(如編譯生成的文件,備份文件等等)。如果工程已經開始一段時間了,這就顯得很重要。在目錄中也許有些是不打算將其置于版本控制下的文件,但是又想將他們放在這里,這種情況下,你要在輸入之前將它們移走,然后再移回來。
注意的是CVS
認為空目錄是不存在的。如果想增加一個既不包含文件又不包含子目錄的目錄,需要在其下創建一個啞文件。建議你創建一個名為 README.txt
的文件,其內容為對目錄的簡要說明。
進入到已有項目的目錄,比如叫 cvstest:
cd
/home/cvsuser/cvstest
運行命令將項目文件導入到cvs倉庫中:
cvs import -m "this is a cvstest
project" cvstest tengtu
start
說明:import 是cvs的命令之一,表示向cvs倉庫輸入項目文件.
-m參數后面的字串是描述文本,對項目進行描述,如果不加 -m
參數,那么cvs會自動運行一個編輯器(一般是vi,但是可以通過修改環境變量EDITOR來改成你喜歡用的編輯器)讓你輸入信息,cvstest
是項目名稱(實際上是倉庫名,在CVS服務器上會存儲在以這個名字命名的倉庫里)
tengtu是這個廠商標記.
start 是每次 import
標識文件的輸入層次的標記。
9、
從cvs本地服務器上checkout相應的模塊:
a、如果是在CVS服務器所在計算機上,可以直接采用如下命令:
cvs checkout
cvstest
這樣將把cvstest項目模塊checkout到當前目錄下。
b、如果是在遠程運行Linux或其它Unix系統上,在第7中登錄之后也可以用上邊的命令把相應的項目模塊checkout到當前目錄下。
另外,如果是在windows端進行checkout,可以采用WinCVS,那么還要對WinCVS進行其它的一些配置,下一部分將具體介紹它的配置方法。
|
posted on 2010-01-29 14:15
Ke 閱讀(2474)
評論(0) 編輯 收藏 所屬分類:
cvs