オブジェクトの比較

ソースを比較することができる各タイプのオブジェクトには、Rational® Synergy によって事前定義されたデフォルトの比較ツールがあり、CLI 用と GUI 用の両方が用意されています。GUI 用のデフォルトの比較ツールは対話型で、CLI 用は自動的に実行されます。比較ツールは、バージョンが異なるファイルまたはディレクトリー間の相違点を表示します。

デフォルトの比較ツールは、UNIX および Windows の ccm.properties ファイルで指定されています。オブジェクト・タイプごとに異なる比較ツールを指定できます。指定した比較ツールは、比較ツールが定義されていない指定のタイプとすべてのサブタイプに適用されます。デフォルトでは、ASCII ファイル・タイプにのみ比較ツールが定義されています。

例えば、「japanese」ファイル・タイプを定義し、日本語ファイルの比較を ASCII ファイル以外のエンコードで実行する場合は、次のように指定できます。

ccm.cli.tools.compare.japanese.windows="%ccm_home¥¥¥¥bin¥¥¥¥util¥¥¥¥cc_dff.bat" "%ccm_home" %{encoding[null='SJIS']} %outfile %file1 %file2

デフォルトでは、バイナリー・タイプまたはそのサブタイプ用の比較ツールは設定されていませんが、比較ツールを手動で設定できます。

また、次のように ccm.properties ファイルでエンコード・ルールを設定し、比較されたファイルで正しい言語を表示することもできます。

// UNIX 上のソース・オブジェクトとその checkstatus を比較するコマンド。
ccm.cli.tools.compare.ascii.unix=%ccm_home/bin/util/cc_dff %ccm_home %{encoding[null='CP1252']} %outfile %file1 %file2^M
// Windows 上のソース・オブジェクトとその checkstatus を比較するコマンド。
ccm.cli.tools.compare.ascii.windows="%ccm_home¥¥¥¥bin¥¥¥¥util¥¥¥¥cc_dff.bat" "%ccm_home" %{encoding[null='CP1252']} %outfile %file1 %file2

ccm_diff コマンドの 2 番目のパラメーターにより、比較対象ファイルのエンコードを指定できます。構文 “%{encoding[null='CP1252']}” は、次のように解釈されます。

対象のオブジェクト・タイプで、encoding_rules 属性によってワークエリアのエンコードが指定されている場合は、そのエンコードを比較で使用します。そうでない場合は、CP1252 エンコード方式を使用します。(encoding_rules 属性の説明については、ファイル・エンコード を参照してください。)

このパラメーターには、CP1252 以外のデフォルト・エンコード方式を指定できます。例えば、以下の構文は、オブジェクト・タイプにエンコード方式が指定されていない場合に UTF8 エンコード方式を使用することを示します。

ccm.cli.tools.compare.ascii.windows="%ccm_home¥¥¥¥bin¥¥¥¥util¥¥¥¥cc_dff.bat" "%ccm_home" %{encoding[null='UTF8']} %outfile %file1 %file2

以下の構文は、常に CP1252 エンコード方式を使用することを示します。

ccm.cli.tools.compare.ascii.windows="%ccm_home¥¥¥¥bin¥¥¥¥util¥¥¥¥cc_dff.bat" "%ccm_home" CP1252 %outfile %file1 %file2

有効なエンコード方式は、CP1252、UTF8、BIG5、eucJP、EUC-KR、SJIS、および GB18030 です。

比較されるファイルと祖先ファイルでは、同じエンコードになっている必要があります。

例えば中国語のデータベースでは、ascii タイプに以下のエンコード・ルールを設定できます。

Server-encoding: GB18030
Unix-wa-encoding: GB18030
Windows-wa-encoding: GB18030

ccm_diff コマンドのデフォルトのエンコード・パラメーターが使用された場合、GB18030 エンコードにより、CLI と GUI の比較ツールが呼び出されます。

あるいは、サイトに中国語のデータベースだけが存在する場合は、デフォルトの比較ツールを次のように変更することができ、ascii タイプでは encoding_rules 属性が不要になります。

ccm.cli.tools.compare.ascii.windows="%ccm_home¥¥¥¥bin¥¥¥¥util¥¥¥¥cc_dff.bat" "%ccm_home" %{encoding[null='GB18030']} %outfile %file1 %file2

このタスクについて

ccm diff  [-vc|-versioncompare] object_spec1 [object_spec2]
object_spec1
object_spec1 は、比較する最初のファイルまたはディレクトリーを指定します。object_spec1 には、1 つのファイルまたはディレクトリーのオブジェクト仕様を設定できます。
object_spec2
object_spec2 は、比較する 2 番目のファイルまたはディレクトリーを指定します。object_spec2 には、1 つのファイルまたはディレクトリーのオブジェクト仕様を設定できます。object_spec1 がファイルの場合は、object_spec2 もファイルでなければなりません。object_spec1 がディレクトリーの場合は、object_spec2 もディレクトリーでなければなりません。

フィードバック