当前位置: 主页 > 操作系统 > MacOS > CVS在MAC OSX里面地安装和运用

CVS在MAC OSX里面地安装和运用

时间:2009-9-18来源:互联网 点击:
一、编译和安装CVS  

在MAC OSX中,如果安装了MAC OSX Developer Tools的话,CVS已经缺省的安装了。  
如果想使用最新的CVS的话,我们可以通过 http://www.cvshome.org/ 下载到最新  
版本的CVS源代码。假设CVS源码包为cvs.tar.gz,我们可以使用下面的命令进行  
编译和安装。  

tar zxvf cvs.tar.gz  
cd cvs  
./configure --without-gssapi  
make  
sudo make install  

二、配置CVS服务器  

首先创建一个CVS仓库,在console窗口中间如入下命令  

mkdir /usr/cvs  
cvs -d /usr/cvs init  

假设系统使用的是inetd的话,我们可以通过使用如下的命令来配置CVS服务器  

假设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服务。  

如果系统使用的是xinetd的话,我们可以通过以下操作来配置CVS服务器  

在 /etc/xinetd.d/目录中创建一个cvspserver文件,内容如下  

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服务。  

三、CVS客户端账号设置  

通过上面两个步骤,CVS服务器已经基本上配置完成,但是,现在还需要进行  
一些设置才能让CVS真正在项目开发中起到作用。  

共有两种CVS的用户和账号设置。  
一种是在操作系统中建立一个CVS用户组,然后让添加的CVS用户属于CVS用户  
组,这样CVS用户就可以对CVS仓库中的文件进行访问和修改了。  
另外一种方法是在操作系统中的只设一个CVS用户,然后通过设置CVSROOT仓库  
中的passwd文件来达到多个用户对CVS的访问。下面我将详细讲述这些方法。  

方法一:  
首先使用OS X Application/Utilities中的NetInfo工具添加一个cvsgroup组,  
将需要使用CVS的用户名称添加到cvsgroup组中的users项中。  
然后修改/usr/cvs的owner属性,可以使用如下命令  
chown -R cvs.cvsgroup /usr/cvs  
这条命令将分别设置CVS仓库的拥有用户为cvs和拥有组为cvsgroup,因此如果  
用户属于cvsgroup的话,都可以多CVS仓库中的文件进行读写。  
用户可以通过如下命令进行测试  
cvs -d :pserver:cvs@127.0.01:/usr/cvs login  

方法二:  
cd /usr/cvs/CVSROOT  
touch passwd  
这个passwd文件将作为CVS的用户和密码配置文件。  
passwd文件中的配置格式如下  
cvsuser1:xxxx:cvs  
cvsuser2:xxxx:cvs  
其中cvsuser1,cvsuser2是CVS的用户,xxxx使用户密码,cvs是真正的系统中存  
在的CVS用户,标示为xxxx的用户密码是使用cypto系统调用创建的用户密码。  
可以使用下面的perl脚本生成。  

vi pwdgen.pl  

输入如下内容  

#!/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窗口中运行pwdgen.pl,输入用户名,将输出的密码拷贝到passwd文件  
中即可。  

用户可以通过writer和reader文件控制cvs用户的读写权限。  
在/usr/cvs/CVSROOT中,键入如下命令:  

touch writer  
touch reader  

然后只需将需要控制权限的用户名增加到文件中即可,比如:  
cat cvsuser1 >> writer  
cat cvsuser1 >> reader  
cat cvsuser2 >> reader  

用户可以通过如下命令进行登陆测试  

cvs -d :pserver:cvs@127.0.01:/usr/cvs login  

四、CVSWeb设置  

CVSWeb是一个基于Web的CVS前端工具,用户可以通过浏览器浏览CVS仓库中的代码和  
进行比较。  

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  

修改如下项为  
$config = $ENV{’CVSWEB_CONFIG’} || ’/Library/WebServer/CGI-Executables/cvsweb.conf’;  

vi cvsweb.conf  
修改 %CVSROOT = (  
’Your Project" = ’/usr/cvs’  
)  
修改$cvstreedefault = ’Your Project’  

然后在系统预置的共享项中启动个人Web共享。  
这样,就可以通过 http://localhost/cgi-bin/cvsweb.cgi 对CVS进行访问了。  

五、CVS的使用  
1.import一个项目  
import的作用是将一个项目纳入CVS的代码管理中,假设用户有一个项目处于/project/test  
中,我们可以  
cd /project/test  
cvs -d :pserver:cvsuser@localhost:/usr/cvs import -m "Import Project" test releae1 start  
这样就将一个项目导入到了CVS仓库中。  
2.checkout一个项目  
checkout的作用是将源代码从服务器上取回  
cvs -d :pserver:cvsuser@localhost:/usr/cvs checkout test  
3.update一个项目  
cvs -d :pserver:cvsuser@localhost:/usr/cvs update  
站长资讯网
. TAG: CVS MAC OSX
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言