共享项目中仅使用两种状态:共享和可视。 这些状态的使用取决于对象的类型。
共享状态用于共享项目。共享状态处于项目生命周期中的工作和准备状态之间,且允许所有用户在共享项目中进行工作。缺省情况下,工作对象不用于共享项目中。
可视和共享状态用于共享项目中的检出对象。
可视状态用于常规(非产品)对象的共享开发。只有对象的所有者才能更改对象。然而,所有用户可以通过将对象添加到其工作项目或共享项目中来使用对象。
共享状态用于产品对象的共享开发。所有用户可以更改和使用共享对象。
任何用户都可以创建共享项目。但是,最好由构建管理员来负责共享项目,因为构建管理员熟悉项目管理(如创建、设置更新属性和执行更新)。但是,在所有用户都熟悉的项目环境中,小组负责人也可以负责共享项目。在开发人员能够密切合作的小型团队中,由个人开发人员负责共享项目也可以顺利进行。
尽管项目生命周期在工作状态时便已开始,但您可以将项目直接检出到共享状态,方法是在“复制项目”对话框中将项目目的设置为共享开发。要从命令行检出共享项目,请使用带有-purpose shared 选项的 ccm copy_project 命令。也可以将项目检出到工作状态,然后将项目目的更改为共享开发。
在 Rational® Synergy GUI 中,使用“创建项目”对话框并选择共享开发。
在 Synergy CLI 中,使用带有 -purpose "Shared Development" 选项的 ccm create -t project 命令。
在共享项目中工作时,必须执行不同于标准项目的检出和检入操作。
在共享项目中,检出目录的所有命令还可以自动检入目录。 此功能使该共享目录可供所有用户使用,以便他们不需要等待到对目录成员的更改完成,即可对该目录进行自己的更改。
例如,如果用户在 Web 目录中创建文件,那么 create 命令将导致自动检出该目录。 因为目录是自动检入,因此用户在更改文件时,其他开发人员也可以进行更改。如果目录没有自动检入,那么在用户完成更改之前,该目录仍保持检出装他(不可更改)。
通过在服务器的 CCM_HOME/etc 安装路径中的 ccm.ini 文件中输入以下行,可关闭目录自动检入功能:
shared_project_directory_checkin = FALSE
您无法从检出的可视对象中进行检出。但是,在共享项目中,可以通过使用不同版本对象来替换已检出的对象(ccm use 命令或“使用”对话框)。如果确实使用不同版本的检出对象,那么您未使用其他用户的检出对象。
仅编辑为您检出的文件。请避免通过更改文件的权限来使文件可写入。
在共享项目中工作时,必须执行不用于标准项目的项目更新操作。
如果共享项目仅存在一个版本(没有用户具有该项目的工作版本),那么共享项目几乎不需要任何维护。共享项目总是最新的,不需要任何更新。使用 Rational Synergy 的基本命令来创建共享项目并允许用户更新该项目。例如,设置当前任务、检出、创建、编辑和完成任务。
如果共享项目存在工作版本,那么构建管理员必须更新共享项目以收集在工作项目中进行的更改。更新属性必须包含一个文件夹,设置为查询当前发行版的所有任务。该文件夹必须能够供所有用户写入和使用。
更新可以导致许多对象发生更改,这将影响使用共享项目的开发人员。因此,请在很少用户使用项目时执行更新。另外,在更新后,构建管理员必须复审更新日志以了解意外结果和必须合并的并行版本。
用户可以同步共享项目。但是,用户仅可以废弃处于静态状态的对象更改,或检出到这些更改。检出到其他用户的对象无法使用同步操作进行更改。
使用 ccm reconcile 命令可同步单个对象。