IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere  >

使用 WebSphere Studio Application Developer 进行小组开发: 第 3 部分:在 RedHat Linux 7 上安装 CVS 并将其配置为 SCM 资源库

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Colin Yu (coliny@ca.ibm.com), 软件工程师, IBM 多伦多实验室

2002 年 11 月 01 日

本文,即关于在 IBM® WebSphere® Studio Application Developer 中进行小组开发的系列文章的第三篇,重点讲解如何在 RedHat Linux 7 上安装 CVS 并将其配置为 SCM 资源库。

© Copyright International Business Machines Corporation 2002. All rights reserved.

引言

本文,即关于在 IBM® WebSphere® Studio Application Developer 中进行小组开发的系列文章的第三篇,重点讲解如何在 RedHat Linux 7 上安装 CVS 并将其配置为 SCM 资源库。WebSphere Studio Application Developer(以下称为 Application Developer)可以与 CVS 这种主流的开放源代码的、网络透明的版本控制系统一起无缝地共同工作。CVS 在大多数平台上都可以运行,包括 Windows®、Linux、AIX® 和 UNIX®。将它与 Application Developer 一起安装在 RedHat Linux 上有下列几点好处:

  • Linux 现在是占垄断地位的开放源代码操作系统。
  • RedHat 是 Linux 的主要分发商之一。
  • CVS 包含在 RedHat Linux 7 分发版中。
  • CVS for Linux 非常稳定、可靠并且可伸缩,对于个人开发者、小规模的小组以及大规模、分布式小组都很有用。
  • Application Developer 运行在 RedHat Linux 7 上。
  • 在使用 Application Developer 时,您可以使用 CVS 作为本地资源库或者作为整个小组的共享资源库。

    然而,安装和配置 CVS for Linux 并非无足轻重,并且相关的好文档极少。下面的一步一步的指导应该能够帮助系统管理员为使用 Application Developer 的开发者配置 CVS for Linux。





回页首


在 RedHat Linux 7 上安装 CVS

CVS 版本 1.11.1.3 可能已经缺省安装在您的 RedHat Linux 7 上了。要检查是否已安装了 CVS,请输入命令 rpm-qa|grep 'cvs' 。如果返回的是 cvs-1.11.1-3 ,就意味着已经安装了 CVS。

如果这条命令没返回任何内容,您就需要安装 CVS。CVS rpm 通常位于 RedHat Linux 7 分发版的安装 CD #2 上的 RedHat/RPMS 目录中。将该CD 安装到 /mnt/cdrom 后,使用 rpm 命令安装 CVS: rpm -i /mnt/cdrom/RedHat/RPMS/cvs-1.11.1p1-3.i386rpm





回页首


建立 CVS 用户帐户和组

  1. 以 root 用户的身份登录。
  2. 创建一个名为 cvs 的用户,让这个用户使用 cvs 作为他的主组。
  3. 创建将在 Application Developer 中使用 cvs 的用户。本文使用 cvsdev1cvsdev2
  4. 使用 cvs 的开发者可以使用他们的私有组作为他们的主组。例如, cvsdev1 的主组是 cvsdev1 ,但要确保他们还属于 cvs 组。




回页首


建立文件夹和资源库

  1. 以用户 cvs 的身份登录。
  2. 在 cvs 自己的主目录(即 /home/cvs /)下创建一个名为 repository 的目录。
  3. 设置目录 /home/cvs/repository 的访问级别和访问模式: chmod 770 /home/cvs/repository
  4. 设置目录 /home/cvs/repository 的 setgid 位: chmod g+s /home/cvs/repository

    说明:在一个目录中创建文件时,该文件缺省情况下属于其所有者的主组。设置了目录的 setgid 位后,新文件将与该目录属于相同的组,而不属于其所有者的主组。例如,如果用户 cvsdev1 在目录 /home/cvs/repository 中创建了一些文件,则这些文件将属于 cvs 组而不是它的主组 cvsdev1

    这一步至关重要,因为它使 CVS 用户能够检出其他用户创建的文件。如果这一步没完成,那么当您检出另一个用户创建的文件时,操作将失败,并发出下面这条消息:

    Failed to create lock directory for /home/cvs/repository/... : Permission denied.
    Failed to obtain dir lock in repository /home/cvs/repository/...

  5. 初始化资源库:
    cvs -d /home/cvs/repository init
                

  6. 注销用户 cvs




回页首


修改 xinetd 服务以启用 pserver 协议

  1. 以 root 用户的身份登录。
  2. 在目录 /etc/xinetd.d 中创建一个名为 cvspserver 的文件,文件内容如下:
    # default: off
    # description: An cvs server. 
    service cvspserver
    {
       disable = no
       socket_type = stream
       protocol = tcp
       user = root
       wait = no
       server = /usr/bin/cvs
       server_args = -f --allow-root=/home/cvs/repository pserver
       log_on_success +=USERID
       log_on_failure += USERID
    }
                

  3. 打开 /etc/services 并核实存在下面这两行代码。如果不存在,则添加它们:
    cvspserver 2401/tcp     # CVS client/server operations
    cvspserver 2401/udp     # CVS client/server operations
                

  4. 重新启动 xinetd 服务:
    service xinetd restart
                





回页首


建立用户环境

  1. 打开文件 /etc/profile 。您应该能在该文件中看到下面这些行:
    USER='id -un'
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
                

  2. 在环境变量 MAIL 后添加一行内容:
    CVSROOT=":pserver:$USER@localhost:/home/cvs/repository"
                

  3. 在该文件中,您还应该看到这样一行:
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
                

  4. 修改这一行并将 CVSROOT 添加到导出(export)列表中,如下所示:
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC CVSROOT
                





回页首


用本地用户测试安装

  1. Developer 1 以 cvsdev1 的身份登录。
  2. 通过输入下面的命令来确保环境变量是正确的:
    echo $CVSROOT
                

    它应该返回与用户名有关的象下面这样的结果:

    :pserver:cvsdev1@localhost:/home/cvs/repository
                

  3. 用下面的命令登录 CVS:
    cvs login
                

    您将被提示提供密码。输入您的 Linux 密码。

  4. 创建一个名为 project1 的目录:
     mkdir project1
                

  5. 在目录 project1 中创建一个名为 Test.java 的文件,文件内容如下:
    public class Test{
       public String sayHello(String name){
          return "Hello"+name;
       }
    }
                

  6. 使用这些命令将 Test.java 导入到 CVS 资源库中的模块 project1
    cd /home/cvsdev1/project1
    cvs  import -m "import Test.java" project1 wsadgroup release1_0
                

    CVS 导入操作完成后,您应该会看到一条这样的消息:

    N  project1/Test.java
    No conflicts created by this import
                

  7. 备份您的源代码:
    cd
    mv project1 project1.sav
                

  8. 从 CVS 资源库检出 project1
    cd
    cvs checkout project1
                

    您应该会看到在 /home/cvsdev1 下创建了一个名为 project1 的新目录,该目录下有一个文件 Test.java 和一个目录 CVS

  9. Developer 2 以 cvsdev2 的身份登录。
  10. cvsdev2 登录 CVS:
    cvs login
                

  11. cvsdev2 从 CVS 检出 project1
    cvs checkout project1
                

    您应该会看到这样一条来自 CVS 的消息:

    cvs server:Updating project1
    U project1/Test.java
                

  12. Test.java (位于目录 project1 中)添加一个新方法:
    public String sayBye(String name){
       return "Bye, " + name;
    }
                

  13. Test.java 检入到资源库中:
    cvs commit -m "checkin Test.java" Test.java
                

    您应该会看到这样一条来自 CVS 的消息:

    Checking in Test.java;
    /home/cvs/repository/project1/Test.java, v <-- Test.java
    new revision: 1.2; previous revision: 1.1
    done
                

    用户 cvsdev1 用下面这些命令捕获 cvsdev2 所做的更改:

    cd /home/cvsdev1/project1
    cvs update Test.java
                

    您应该会看到这样一条来自 CVS 的消息:

    U Test.java
                

    您可以用编辑器打开 Test.java 来查看 cvsdev2 所做的更新。





回页首


用 Application Developer 测试安装

  1. 打开 Team Perspective,选择 Repositories视图并在工作台(Workbench)中选择 File => New => Other。在CVS 类别中选择 Repository Location并单击 Next。完成资源库位置向导。下面简要描述了向导的这个面板上的 CVS 术语:


    Connection type
    您想用来连接到 CVS 服务器的协议。缺省值是 pserver,它代表密码服务器协议。这是我们刚才在 RedHat Linux 7 中设置的连接类型。
    User name
    您用来登录到 CVS 服务器中的用户名。例如我们刚才在 RedHat Linux 7 中定义的 cvs 组中的 cvsdev1 或 cvsdev2。
    Host name
    您想连接到的服务器的机器名。它将是 RedHat Linux 机器的主机名或 IP 地址。
    Repository path
    服务器上的资源库位置的全限定路径。对于我们的安装和配置,它将是: /home/cvs/repository
    CVS location
    Application Developer 用来连接到资源库的完整位置。当您填好前面几个字段时,它将被动态构建。
    Validate on finish
    它在返回到 IDE 前测试资源库连接。请一直启用它作为第一次连接性测试。

    图 1.

  2. 单击 Finish。如果 Application Developer 能够连接到 CVS 服务器,您将被提示提供该用户标识的密码。请参见下图 2。
    图 2.

    一旦用户标识和密码通过验证,您就会返回到 Repositories 视图,并且该视图上多了一个 Application Developer 连接到的新资源库条目。

  3. 展开 Streams => HEAD => project1,您就可以看到版本为分发版 1.2 的 Test.java ,这与我们在“用本地用户测试安装”这一节的 第 13 步中看到的一致。
    图 3.

  4. 右键单击 Test.java 并选择 Showin Resource History。在 Resource History 视图中,您可以看到 cvsdev1 何时对 Test.java 进行了第一次修订,在代码发生更改后, cvsdev2 何时把 Test.java 检入到了资源库中。
    图 4.


    图 5.

  5. 最后,右键单击 project1 并选择 Add to Workspace。您们就可以开始对 Application Developer 中的 project1 进行操作了!
    图 6.





回页首


结束语

本文已经描述了如何在 RedHat Linux 中配置 CVS。我希望这篇文章会对您有所帮助,并欢迎所有的反馈。





回页首


致谢

作者在此要感谢 IBM 多伦多实验室的两位软件开发分析师 David Van 和 Joseph Chiu,感谢他们审阅了这篇文章。





回页首


参考资料

关于 WebSphere Studio Application Developer 的更多信息:



参考资料



关于作者

照片:Colin Yu

Colin Yu目前在 IBM VisualAge for Java 技术支持小组工作。他从位于安大略湖(Ontario)的沃特卢(Waterloo)大学获得了应用科学硕士学位,并且是一名通过 Sun Java 2 认证的程序员。他还是 IBM 认证的 WebSphere Application Server 专家、VisualAge for Java 专家以及 IBM 认证的 WebSphere Studio 解决方案专家。您可以通过 coliny@ca.ibm.com与 Colin 联系。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?







回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款