0

ワークスペース内のいくつかのプロジェクトを更新するために、Eclipseプラグインを作成しています。更新後、競合が発生する可能性があります。更新されたプロジェクトで競合が発生した場合に、ユーザーにダイアログを表示したいと思います。

更新するには、を使用してUpdateOperationから、更新されたプロジェクトでIResource.refreshLocal()を実行します。競合を探すために私は使用しますFileUtility.checkForResourcesPresenceRecursive(resources, IStateFilter.SF_CONFLICTING)。また、IStateFilter.SF_CONTENT_CONFLICTINGとで試してみましたIStateFilter.SF_TREE_CONFLICTING。通常、それらは戻りfalseます。

デバッグモードで実行すると、最初の2つはに戻りtrueます。そのため、更新後に発生するイベントがあり、デバッグモードで時間が失われると、Subversiveはそのことを知るようになります。私は正しいですか?これはどんなイベントですか?ではありませんIResourceChangeEvent。運が悪かったので聞いてみましたPOST_CHANGED

ヒントはありますか?ありがとうございました。

4

1 に答える 1

0

思ったより簡単でした。(UpdateOperationおよびおよびCommitOperationMergeOperationクラスは、メソッドAbstractConflictDetectionOperationを提供する拡張です。hasUnresolvedConflicts()それはトリックを行います;)

于 2011-02-23T07:50:01.133 に答える