要修改现有对象,您必须创建此对象的可修改版本。您可以使用检出操作来创建可修改对象,此操作根据对象的现有版本创建此对象的一个版本。新版本包含现有版本的所有属性的副本。
检出操作类似于 PVCS get -l 命令 (Windows) 或者 RCS co -l 和 SCCS get -e 命令 (UNIX)。然而,在 Rational Synergy 中,您仅在打算修改对象的情况下才需要将其检出。如果您想要查看或使用此对象,那么无需将其检出。您可以检出任何类型的对象(文件、目录、符号链接以及可执行文件等)。
检入操作在正常情况下通过使对象版本不可写来将其以原样保留。对象在检入后可供其他用户使用。检入对象操作会更改 state(或 status)属性,此属性定义谁可以修改和使用此对象。检入操作类似于 PVCS put -u 命令 (Windows) 或者 RCS ci -u 和 SCCS delget 命令 (UNIX)。
使用 Rational Synergy,您可以检入同一版本多次,而不是检入文件一次。例如,您可以在准备好进行测试后检入文件。您可以在准备好发布此文件后将其检入为不同状态。
以我们的开发者 Jane 为例,我们知道 Jane 将修改文件以修正滚动错误。Jane 检出要完成分配给她的任务而需要她修改的文件,例如 gui.c 和 lines.c。在修改这些文件并修正相应错误后,Jane 完成了任务,从而使这些文件可以在下一个产品构建中使用。
检出和检入过程是开发周期中变更控制的重要组成部分。如果开发者检出对象以对其进行修改,那么此开发者成为该文件的个人副本(供使用)的所有者。缺省情况下,Rational Synergy 允许其他开发者检出该同一文件的自有版本以进行修改。此过程被称为并行开发,而同一文件的不同版本被称为并行版本。工作流程不会因为文件的一个版本已在使用而被延迟。
在某个时候,并行版本将需要进行合并。使用 Rational Synergy 合并功能可对源自于一个文件的两个并行版本的信息进行融合。在合并两个对象版本时,会创建第三个版本。Rational Synergy 使用最新的公共祖代来建议新版本必须包含哪些更改。如果这些文件中没有冲突,那么新版本便准备就绪以供使用。如果存在冲突,那么您必须选择要在合并的版本中使用冲突代码的哪些行。