用 CVS 编程的小组

在“并发版本控制系统”(CVS)小组编程环境中,小组成员在他们自已的工作台中独立完成所有工作。最终,他们将希望共享他们的工作。他们可以通过“CVS 资源库”实现此目的。

分支

CVS 使用分支模型来支持有点相互独立但仍高度相互依赖的多项工作。分支是开发小组共享和集成正在进行的工作的地方。可将分支认为是一个共享工作区,当小组成员对项目进行更改时就会更新该工作区。此模型允许各个成员从事 CVS 小组项目,在进行更改时与其他成员共享他们的工作以及在项目进展时了解其他成员的工作。在资源库中,称为 HEAD 的一个特殊分支表示工作的主线(HEAD 通常称为干线)。

共享工作

当小组成员完成新的工作时,他们通过将更改提交至分支来共享此工作成果。同样地,当他们想要获取最新的可用工作成果时,他们将本地工作区更新为分支上的更改。因此,当小组成员提交新的工作成果时,分支就在不断地更改并向前发展。

分支有效地表示了项目的当前状态。在任何时候,小组成员都可以从分支更新他们的工作区,从而知道工作区是最新的。

与分支和工作台交互作用

优化小组模型

CVS 提供在小组中工作所需的两个重要功能部件:

维护历史记录是很重要的,它使得人们能够将当前工作与先前的工作进行比较,回复为较好的旧工作等等。协调工作是很关键的,以便存在一个当前项目状态定义,并包含小组的集成工作。此协调是通过分支模型提供的。

最优模型就是任何小组成员都可以在其中更改他或她具有访问权的任何资源的模型。由于两个小组成员可以提交至对同一资源的分支更改,所以可能会发生冲突且必须处理它们。此模型称为最优模型,因为假定它发生的冲突很少。

建议的工作流

通常,资源不会孤立存在,它们通常包含其它资源的隐式或显式依赖项。例如,Web 页面具有指向其它 Web 页面的链接,而源代码具有对在其它源代码资源中描述的助诊文件的引用。 没有孤立的资源。

将资源提交至分支时,这些依赖项可能会受到影响。由于分支表示当前项目状态,从而确保依赖项的完整性是很重要的:在任何时候,小组成员都可以将分支内容用作新工作的基础。

因此,理想的工作流就是保留分支完整性的工作流。

已枚举理想流

理想工作流流程如下:

  1. 开始。开始工作之前,用当前分支状态更新工作区中的资源。如果您确定没有您关心的本地工作,则最快的获取方法是从分支(或 HEAD)中选择您感兴趣的项目并选择作为项目检出(或者,如果项目在本地已经存在,则选择替换为 > 资源库中的最新内容)。这将用分支中的内容覆盖本地资源。

  2. 进行更改。在“工作台”本地工作,创建新的资源,修改现有资源以及完成时在本地保存资源。

  3. 同步。当准备好提交工作成果时,与资源库同步。

    1. 更新。检查入局更改并将它们添加至本地“工作台”。这允许您确定是否存在可能影响将提交的内容的完整性的更改。解决冲突。重新测试并运行完整性检查器(例如,检查断开的超文本链接及确保代码编译等等)。

    2. 提交。既然确信您的更改已与最新的分支内容很好地集成在一起,就将更改提交至分支。为谨慎起见,可重复先前的步骤(如果有新的入局更改的话)。

这自然就是一个理想的工作流。在某些情况下,您可能确信入局更改对您毫无影响,从而选择提交而不进行更新。然而,小组成员通常应尽量遵循类似上述的流程来确保不会意外危及分支完整性。

可在以下网址中找到有关 CVS 的更多信息:http://www.cvshome.org

相关概念
CVS 资源库
分支
版本
与 CVS 资源库同步

相关任务
创建 CVS 资源库位置

从 CVS 资源库检出项目
 
替换工作台中的资源

使用 CVS 共享新项目

与资源库同步

更新

解决冲突

从分支合并

提交

相关参考
CVS

Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.