リモート・ソースの物理ファイルまたはメンバーを i プロジェクトにダウンロードすると、後で比較を行うために、最終変更日時タイム・スタンプが内部的にキャッシュされます。
後で、i プロジェクト・レベルで「リモート・オブジェクトの表示」を選択するか、「選択した項目のプッシュ」または「変更のプッシュ」アクションを選択した場合、リモート・サーバー上でそのオブジェクトが変更されていると、警告を受け取ります。
プッシュに関する矛盾は、以下の 2 つの状況で発生する可能性があります。
- ローカル側で保管されたメンバーのタイム・スタンプがなく、メンバーがサーバー上に存在する場合。
これは、以下の場合に起きる可能性があります。
- メンバーが最初にサーバーから取得されずにワークスペース内で新規作成された
- メンバーが名前変更された
- メンバーが (同一ソース・ファイルまたは別のソース・ファイル内の) 別のメンバーからコピーまたは移動された
- 接続中のサーバーが変更された
- 接続が変更された結果、サーバーが変更された
- 関連ライブラリーが変更された
- 親ソース・ファイルが名前変更、コピー、または移動された
- ローカル側で保管されたメンバーのタイム・スタンプがあり、メンバーがサーバー上に存在し、そのタイム・スタンプが保管されたタイム・スタンプと異なる場合。
これは、以下の場合に起きる可能性があります。
- サーバー上のメンバーが、ワークスペース内の対応するメンバーが前回プッシュされた後で更新された
- サーバー上のメンバーがバックアップ・コピーからリストアされた
矛盾がある場合は、警告ダイアログでプロンプトが出されます。
- 「はい」を選択すると、サーバー上のメンバーが上書きされます。
- 「すべてはい」を選択すると、今回のプッシュ操作の間、矛盾するすべてのメンバーがこれ以後の警告なしで上書きされます。
- 「いいえ」を選択すると、このメンバーはサーバーにプッシュされません。
- 「すべていいえ」を選択すると、今回のプッシュ操作の間、矛盾するすべてのメンバーがこれ以後の警告なしでスキップされます。
- 「キャンセル」をクリックすると、プッシュ操作は取り消されます。
実際にプッシュされたメンバーについては、新しいサーバー・タイム・スタンプがローカル側に記録されるため、サーバー上で再度メンバーを更新しない限り、矛盾が再び発生することはありません。
スキップされたメンバーについては、矛盾が再び発生することになります。
この矛盾は、次の機会にメンバーをサーバーへプッシュするか、サーバーからこのメンバーを手動でコピーすることで修正できます。
重要: メンバーまたはソース・ファイルを i プロジェクトからサーバーにアップロードする場合、ローカルのレコード長がサーバーのレコード長より長いと、データの切り捨てが発生する可能性があることを示す警告が出されます。
この警告は、ソース・ファイルをプッシュするたびに受け取ります。
これを修正するには、ホストのファイル・サイズに適合するようにデータを調整し、この新たな短いレコード長で新規ソース・ファイルをワークステーション上に作成し、すべてのメンバーをこのファイルにコピーしてください。