найти конфликты с подрывным API - PullRequest
0 голосов
/ 22 февраля 2011

Я пишу плагин Eclipse для обновления некоторых проектов в моей рабочей области. После обновления могут возникнуть конфликты. Я хочу показать пользователю диалог, если в обновленных проектах есть конфликты.

Для обновления я использую UpdateOperation, затем делаю IResource.refreshLocal () в обновленном проекте. Для поиска конфликтов я использую FileUtility.checkForResourcesPresenceRecursive(resources, IStateFilter.SF_CONFLICTING). Также пробовал с IStateFilter.SF_CONTENT_CONFLICTING и IStateFilter.SF_TREE_CONFLICTING. Обычно они возвращают false.

Когда я запускаю в режиме отладки, первые два возвращают true. Это заставляет меня думать, что после обновления происходит какое-то событие, и с потерей времени в режиме отладки Subversive узнает об этом. Я прав ? Что это за событие? Это не IResourceChangeEvent. Попытка прослушать POST_CHANGED безуспешно.

У вас есть подсказка для меня? Спасибо.

1 Ответ

0 голосов
/ 23 февраля 2011

Это было проще, чем я ожидал.Класс UpdateOperation (а также класс CommitOperation и MergeOperation) расширяет класс AbstractConflictDetectionOperation, который предлагает метод hasUnresolvedConflicts().Это делает трюк;)

...