更新中に、出力がセッション・ログ・ファイルおよび「メッセージ (Messages)」ダイアログ・ボックスに書き込まれます。ただし、このログ・ファイル内の更新結果を読むのは面倒であることがあります。他のすべてのメッセージもこのファイルに書き込まれるためです。
Windows プロファイル・ディレクトリー (Windows ユーザー) または ccmlog ディレクトリー (UNIX ユーザー) とは異なる場所を指すように、ccm_client.log (ユーザー・インターフェース・ログ) ファイルをリダイレクトすることができます。次のステップに示すように、ccm.user.properties ファイル内の ccm.user.properties キーを設定します。
Windows ユーザーの場合、このファイルは ccm.user.properties という名前であり、自分の Windows プロファイル・ディレクトリー内にあります。
UNIX ユーザーの場合、このファイルは .ccm.user.properties という名前であり、自分のホーム・ディレクトリー内にあります。
* ログ・ファイルを C:¥cmsynergy¥synint¥bob にリダイレクトするには、以下を実行します。
user.default.logfile=
C:¥¥cmsynergy¥¥synint¥¥bob¥¥ccm_client.log
* int という名前のデータベースのログ・ファイルの名前を変更するには (通常複数のデータベースで作業している場合)、以下を実行します。
user.default.logfile=
C:¥¥cmsynergy¥¥bob¥¥ccm_client_int.log
ccm.user.properties キーを使用するときには、完全なパスおよびファイル名を使用する必要があります。
さらに、ユーザーは、Windows パスを入力する際に円記号を 2 つ重ねる必要があります。
毎回の更新/ビルド・サイクルの後に、更新結果を調べて問題を探します。「メッセージ (Messages)」ダイアログ・ボックスまたは更新の結果を説明する出力ログで、更新メッセージの最後に要約が書き込まれます。ただし、ログを確認して、更新失敗の詳細レポートを読むように習慣づけてください。
さらに、ビルドが正常に終了しても、ソフトウェアが正しく構成されているとは限りません。更新結果を確認するのは、オブジェクトまたはプロジェクトのバージョンの誤り、マージされなかった変更、選択プロパティー設定の誤りなどの構成のエラーを見つけるための効果的な手段です。調べる必要がある項目は以下のとおりです。
CLI からビルドを行い、update_parallel_check オプションを設定するものとします。指定された一連の更新候補に、並列のスコアが含まれる場合、ccm_ui.log 内で以下のような警告メッセージを受け取ります。
Warning: Parallel versions selected by selection
rules, latest create time will be used:
save.c-3
save.c-2.1.1
パラレル警告メッセージでコールアウトされたオブジェクトの履歴がマージされたことを確認してください。マージされていない場合、ビルドには変更の一部が欠落しています。関与している開発者に、パラレル・バージョンをマージするように通知してください。
CLI からビルドを行うときにパラレル・バージョンをチェックする方法については、すべてのビルド・マネージャーで、更新中のパラレル通知の選択に関する情報を参照してください。
ビルド管理プロジェクト階層は、分割せず一体のままにする必要があります。更新プロパティー (リリース、プラットフォームなど) が誤って設定されている場合、更新で、異なるバージョンのサブプロジェクトが選択される可能性があります。次のようなメッセージがあるかどうかを調べてください。
Subproject editor-int_3.0 replaces editor-int_2.1 under toolkit-2:dir:1
置き換えられたプロジェクトに関するメッセージが見つかった場合は、プロジェクト・バージョンを調べてください。それらの更新プロパティーを調べて、正しいことを確認してください。
デフォルトでは、候補がなければディレクトリー・エントリーは空のままです。空のディレクトリー・エントリーが見つかった場合、その原因を探します (タスクのリリース値の誤りなど)。次のようなメッセージを検索してください。
2 directory entries were left empty because they had no candidates.
空のディレクトリー・エントリーは、必ずしもエラーであるとは限りません。例えば、単一のディレクトリー内で、複数のプラットフォーム上のプロダクトをビルドした場合、ディレクトリー・エントリーは空のままになる可能性があります。共有ライブラリーは、Solaris では mylibrary.so、Windows では mylibrary.dll のような名前になります。同じディレクトリーで両方のプロダクトを制御しますが、2 つのプラットフォームの 2 つのパラレル・プロジェクトでそのディレクトリーを使用するものとします。Windows プロジェクト内では、Solaris ライブラリーの空のディレクトリー・エントリーを取得し、Solaris プロジェクト内では Windows ライブラリーの空のディレクトリー・エントリーを取得します。
開発者は、特定の環境設定によって Makefile をカスタマイズしてから、カスタム Makefile を誤ってチェックインしてしまう可能性があります。更新処理中に置き換えられた Makefile がある場合、Makefile の新バージョンを確認します。変更が、ご使用のビルド環境で適切なものであることを確認してください。次のようなメッセージを検索してください。
'makefile-6:makefile:3' replaces 'makefile-5:makefile:3' under 'editor-2:dir:1'
プロジェクトにコンフリクトがある場合は、「ワークエリアの同期」を使用してワークエリア・コンフリクトを解決してから、再度更新します。 次のようなメッセージを検索してください。
Unable to update membership of project ccm_client,td_7.1 with InteractiveProcessCreator.java,21:java:J#1 due to work area conflicts.
更新処理中に、新しいオブジェクト・バージョンに代わって古いオブジェクト・バージョンが入れられた場合は、コンフリクトの表示操作を実行して、潜在的な問題を減らすために役立てます。次のようなメッセージを検索してください。
'main.c-2:csrc:3' replaces main.c-3:csrc:3' under 'toolkit-4:dir:1'
さらに、新しいオブジェクト・バージョンが関連付けられているタスクと、プロジェクトのプロセス・ルールを調べてください。比較することによって、古いバージョンが新しいバージョンの代わりに入れられた理由が示される場合があります。また、比較することによって、タスクが古いオブジェクト・バージョンを追加する原因となっている、プロセス・ルール内の差異も示されます。
問題が見つかったが、それを理解できない場合は、詳細メッセージを設定して更新を再度実行し、出力ログで詳細な更新結果を受け取ります。(「オプション」ダイアログ・ボックスの「アクション」タブにある「更新」オプションで「詳細メッセージを表示」を設定します。)
以下のセクションでは、更新についてさらに詳細に説明しています。