デフォルトの比較ツールは、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]