软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
CVS在MAC OSX中的安装和使用

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


一、编译和安装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:[email protected]:/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:[email protected]:/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




相关文章

相关软件