当合并目录时,合并工具会自动负责将两个目录合并到新的受控目录以及删除这两个目录。
如果要合并的对象是项目的成员,那么 Rational Synergy 会在项目中使用新合并的对象。当两个版本在与公共祖代相关的同一位置中均进行了更改时,将出现“冲突”区域。如果合并后的文件包含任何冲突,那么该工具将对冲突进行标记,这样您可以快速且容易地找到它们。然后,该工具会将合并结果写入到新文件中。
以下示例显示如何标记已合并的文件:
<<<<<<<file1 filename1
conflicting lines in file1
=======
conflicting lines in file2
>>>>>>>file2 filename2
对于 UNIX 和 Windows,缺省合并工具在 ccm.properties 文件中指定。您可以为每种对象类型指定不同的合并工具。指定的合并工具将应用于指定的类型以及没有指定合并工具的所有子类型。缺省情况下,仅为 ASCII 文件类型定义了合并工具。
此外,可以在 ccm.properties 文件中设置编码规则,以便已合并文件以正确编码显示,如下所示:
// Command to perform merge of source objects on UNIX and its checkstatus.
ccm.cli.tools.merge.ascii.unix=%ccm_home/bin/util/cc_merge %ccm_home %{encoding[null='CP1252']} %outfile %file1 %ancestor %file2^M
// Command to perform merge of source objects on Windows and its checkstatus.
ccm.cli.tools.merge.ascii.windows="%ccm_home\\\\bin\\\\util\\\\cc_merge.bat" "%ccm_home" %{encoding[null='CP1252']} %outfile %file1 %ancestor %file2
ccm_merge 命令的第二个参数用于为要合并的文件指定编码。语法 “%{encoding[null='CP1252']}” 的解释如下:
如果对象类型使用 encoding_rules 属性指定某个工作区编码,对于合并操作,请使用该编码。否则,请使用 CP1252 编码。(请参阅文件编码以获取有关 encoding_rules 属性的讨论。)
可以为此参数指定除 CP1252 以外的缺省编码。例如,以下语法指出,如果未对对象类型指定编码,那么使用 UTF8 编码:
ccm.cli.tools.merge.ascii.windows="%ccm_home\\\\bin\\\\util\\\\cc_merge.bat" "%ccm_home" %{encoding[null='UTF8']} %outfile %file1 %ancestor %file2
以下语法指出一律使用 CP1252 编码:
ccm.cli.tools.merge.ascii.windows="%ccm_home\\\\bin\\\\util\\\\cc_merge.bat" "%ccm_home" CP1252 %outfile %file1 %ancestor %file2
有效编码包括 CP1252、UTF8、BIG5、eucJP、EUC-KR、SJIS 和 GB18030。
要合并的文件和祖代文件必须具有相同编码。
例如,在中文数据库中,可以为 ascii 类型设置以下编码规则:
Server-encoding: GB18030
Unix-wa-encoding: GB18030
Windows-wa-encoding: GB18030
假设使用 ccm_merge 命令的缺省编码参数,那么将以 GB18030 编码调用 CLI 和 GUI 工具。
另外,如果您的站点仅包含中文数据库,那么可以按如下所示更改缺省合并命令,此时 ascii 类型不需要 encoding_rules 属性。
ccm.cli.tools.merge.ascii.windows="%ccm_home\\\\bin\\\\util\\\\cc_merge.bat" "%ccm_home" %{encoding[null='GB18030']} %outfile %file1 %ancestor %file2
ccm merge [[-create_task] | [-t|-task task_spec]]
[-c|-comment comment_string]
[-ce|-commentedit] [-cf|-commentfile file_path]
file_spec1 file_spec2
可以将此选项与 -commentedit 和 -commentfile 结合使用。如果使用 -commentedit 选项,注释将在缺省文本编辑器中显示。
该任务会分配给执行合并操作的用户。任务的发布标识值设置为在其中创建新对象版本的项目的发布标识值。如果对象版本在项目外创建,将不设置发布标识值。