CVS 在MAC OSX中的安裝和使用
一、編譯和安裝CVS
在Mac OSX中,如果安裝了MAC OSX Developer Tools的話,CVS已經(jīng)缺省的安裝了。如果想使用最新的CVS的話,我們可以通過 http://www.cvshome.org/ 下載到最新版本的CVS源代碼。假設(shè)CVS源碼包為cvs.tar.gz,我們可以使用下面的命令進(jìn)行編譯和安裝。
tar zxvf cvs.tar.gz cd cvs ./configure --without-gssapi make sudo make install
二、配置CVS服務(wù)器首先創(chuàng)建一個(gè)CVS倉庫,在console窗口中間如入下命令
mkdir /usr/cvs cvs -d /usr/cvs init
假設(shè)系統(tǒng)使用的是inetd的話,我們可以通過使用如下的命令來配置CVS服務(wù)器
假設(shè)CVS倉庫的路徑是/usr/cvs cd /etc sudo vi inetd.conf
在文件的末尾添加如下信息
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -t --allow-root=/usr/cvs pserver
然后通過 kill -HUP `cat /var/run/inetd.pid`來重起inetd服務(wù)。
如果系統(tǒng)使用的是xinetd的話,我們可以通過以下操作來配置CVS服務(wù)器
在 /etc/xinetd.d/目錄中創(chuàng)建一個(gè)cvspserver文件,內(nèi)容如下
service cvspserver { disable = no protocol = tcp socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/usr/cvs pserver passenv = groups = yes } ;
然后通過 kill -HUP `cat /var/run/xinetd.pid`來重起inetd服務(wù)。
三、CVS客戶端賬號(hào)設(shè)置 通過上面兩個(gè)步驟,CVS服務(wù)器已經(jīng)基本上配置完成,但是,現(xiàn)在還需要進(jìn)行一些設(shè)置才能讓CVS真正在項(xiàng)目開發(fā)中起到作用。
共有兩種CVS的用戶和賬號(hào)設(shè)置。
一種是在操作系統(tǒng)中建立一個(gè)CVS用戶組,然后讓添加的CVS用戶屬于CVS用戶組,這樣CVS用戶就可以對(duì)CVS倉庫中的文件進(jìn)行訪問和修改了。
另外一種方法是在操作系統(tǒng)中的只設(shè)一個(gè)CVS用戶,然后通過設(shè)置CVSROOT倉庫中的passwd文件來達(dá)到多個(gè)用戶對(duì)CVS的訪問。下面我將詳細(xì)講述這些方法。
方法一:
首先使用OS X Application/UtilitIEs中的NetInfo工具添加一個(gè)cvsgroup組,將需要使用CVS的用戶名稱添加到cvsgroup組中的users項(xiàng)中。
然后修改/usr/cvs的owner屬性,可以使用如下命令
chown -R cvs.cvsgroup /usr/cvs
這條命令將分別設(shè)置CVS倉庫的擁有用戶為cvs和擁有組為cvsgroup,因此如果用戶屬于cvsgroup的話,都可以多CVS倉庫中的文件進(jìn)行讀寫。
用戶可以通過如下命令進(jìn)行測(cè)試
cvs -d :pserver:[email protected]:/usr/cvs login
方法二:
cd /usr/cvs/CVSROOT
touch passwd
這個(gè)passwd文件將作為CVS的用戶和密碼配置文件。
passwd文件中的配置格式如下
cvsuser1:xxxx:cvs
cvsuser2:xxxx:cvs
其中cvsuser1,cvsuser2是CVS的用戶,xxxx使用戶密碼,cvs是真正的系統(tǒng)中存在的CVS用戶,標(biāo)示為xxxx的用戶密碼是使用cypto系統(tǒng)調(diào)用創(chuàng)建的用戶密碼。
可以使用下面的perl腳本生成。
vi pwdgen.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}n";
chmod +x pwdgen.pl
在console窗口中運(yùn)行pwdgen.pl,輸入用戶名,將輸出的密碼拷貝到passwd文件中即可。
用戶可以通過writer和reader文件控制cvs用戶的讀寫權(quán)限。
在/usr/cvs/CVSROOT中,鍵入如下命令:
touch writer touch reader 然后只需將需要控制權(quán)限的用戶名增加到文件中即可,比如:
cat cvsuser1 >> writer
cat cvsuser1 >> reader
cat cvsuser2 >> reader
用戶可以通過如下命令進(jìn)行登陸測(cè)試
cvs -d :pserver:[email protected]:/usr/cvs login
四、CVSWeb設(shè)置 CVSWeb是一個(gè)基于Web的CVS前端工具,用戶可以通過瀏覽器瀏覽CVS倉庫中的代碼和進(jìn)行比較。
CVSWeb得下載地址是 http://www.freebsd.org/projects/cvsweb.html#downloads 。
也可以通過如下地址下載 http://www.spaghetti-code.de/software/linux/cvsweb/ 。
可以通過如下命令配置CVSWeb:
cd /usr chmod 775 cvs cp cvsweb.cgi /Library/WebServer/CGI-Executables cp cvsweb.conf /Library/WebServer/CGI-Executables
cd /Library/WebServer/CGI-Executables vi cvsweb.cgi
修改如下項(xiàng)為 $config = $ENV{'CVSWEB_CONFIG'} || '/Library/WebServer/CGI-Executables/cvsweb.conf'; vi cvsweb.conf 修改 %CVSROOT = ( 'Your Project" = '/usr/cvs' ) 修改$cvstreedefault = 'Your Project'
然后在系統(tǒng)預(yù)置的共享項(xiàng)中啟動(dòng)個(gè)人Web共享。 這樣,就可以通過 http://localhost/cgi-bin/cvsweb.cgi 對(duì)CVS進(jìn)行訪問了。
五、CVS的使用
1.import一個(gè)項(xiàng)目
import的作用是將一個(gè)項(xiàng)目納入CVS的代碼管理中,假設(shè)用戶有一個(gè)項(xiàng)目處于/project/test 中,我們可以
cd /project/test cvs -d :pserver:cvsuser@localhost:/usr/cvs import -m "Import Project" test releae1 start
這樣就將一個(gè)項(xiàng)目導(dǎo)入到了CVS倉庫中。
2.checkout一個(gè)項(xiàng)目
checkout的作用是將源代碼從服務(wù)器上取回
cvs -d :pserver:cvsuser@localhost:/usr/cvs checkout test
3.update一個(gè)項(xiàng)目
cvs -d :pserver:cvsuser@localhost:/usr/cvs update
相關(guān)文章:
