在 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 用户帐户和组
- 以 root 用户的身份登录。
- 创建一个名为
cvs
的用户,让这个用户使用cvs
作为他的主组。 - 创建将在 Application Developer 中使用 cvs 的用户。本文使用
cvsdev1
和cvsdev2
。 - 使用
cvs
的开发者可以使用他们的私有组作为他们的主组。例如,cvsdev1
的主组是cvsdev1
,但要确保他们还属于cvs
组。
建立文件夹和资源库
- 以用户
cvs
的身份登录。 - 在 cvs 自己的主目录(即
/home/cvs
/)下创建一个名为repository
的目录。 - 设置目录
/home/cvs/repository
的访问级别和访问模式:chmod 770 /home/cvs/repository
- 设置目录
/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/...
- 初始化资源库:
- 注销用户
cvs
。
修改 xinetd 服务以启用 pserver 协议
- 以 root 用户的身份登录。
- 在目录
/etc/xinetd.d
中创建一个名为cvspserver
的文件,文件内容如下: - 打开
/etc/services
并核实存在下面这两行代码。如果不存在,则添加它们: - 重新启动
xinetd
服务:
建立用户环境
- 打开文件
/etc/profile
。您应该能在该文件中看到下面这些行: - 在环境变量 MAIL 后添加一行内容:
- 在该文件中,您还应该看到这样一行:
- 修改这一行并将 CVSROOT 添加到导出(export)列表中,如下所示:
用本地用户测试安装
- Developer 1 以
cvsdev1
的身份登录。 - 通过输入下面的命令来确保环境变量是正确的:
它应该返回与用户名有关的象下面这样的结果:
- 用下面的命令登录 CVS:
您将被提示提供密码。输入您的 Linux 密码。
- 创建一个名为
project1
的目录: - 在目录
project1
中创建一个名为Test.java
的文件,文件内容如下: - 使用这些命令将
Test.java
导入到 CVS 资源库中的模块project1
:CVS 导入操作完成后,您应该会看到一条这样的消息:
- 备份您的源代码:
- 从 CVS 资源库检出
project1
:您应该会看到在
/home/cvsdev1
下创建了一个名为project1
的新目录,该目录下有一个文件Test.java
和一个目录CVS
。 - Developer 2 以
cvsdev2
的身份登录。 cvsdev2
登录 CVS:cvsdev2
从 CVS 检出project1
:您应该会看到这样一条来自 CVS 的消息:
- 向
Test.java
(位于目录project1
中)添加一个新方法: - 把
Test.java
检入到资源库中:您应该会看到这样一条来自 CVS 的消息:
用户
cvsdev1
用下面这些命令捕获cvsdev2
所做的更改:您应该会看到这样一条来自 CVS 的消息:
您可以用编辑器打开
Test.java
来查看cvsdev2
所做的更新。
用 Application Developer 测试安装
- 打开 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 前测试资源库连接。请一直启用它作为第一次连接性测试。
-
您想用来连接到 CVS 服务器的协议。缺省值是 pserver,它代表密码服务器协议。这是我们刚才在 RedHat Linux 7 中设置的连接类型。
- 单击 Finish。如果 Application Developer 能够连接到 CVS 服务器,您将被提示提供该用户标识的密码。请参见下图 2。
一旦用户标识和密码通过验证,您就会返回到 Repositories 视图,并且该视图上多了一个 Application Developer 连接到的新资源库条目。
- 展开 Streams => HEAD => project1,您就可以看到版本为分发版 1.2 的
Test.java
,这与我们在“用本地用户测试安装”这一节的第 13 步中看到的一致。
- 右键单击
Test.java
并选择 Show in Resource History。在 Resource History 视图中,您可以看到cvsdev1
何时对Test.java
进行了第一次修订,在代码发生更改后,cvsdev2
何时把Test.java
检入到了资源库中。
5. 最后,右键单击
project1
并选择 Add to Workspace。您们就可以开始对 Application Developer 中的project1
进行操作了!
结束语
本文已经描述了如何在 RedHat Linux 中配置 CVS。我希望这篇文章会对您有所帮助,并欢迎所有的反馈。