Конфликт редактирования рабочего элемента TFS (ошибка TFS 237079)

Похоже, что TFS не очень хорошо справляется с одновременным редактированием рабочих элементов. Мы столкнулись с двумя проблемными сценариями:

Сценарий А:

  1. Вы начинаете редактировать рабочий элемент.
  2. Пока вы редактируете, кто-то еще редактирует и сохраняет тот же элемент.
  3. Когда вы пытаетесь сохранить, вы получаете ужасную ошибку TFS237079, что означает, что вы должны потерять свои изменения, обновить элемент и снова отредактировать. Ницца.

Сценарий Б:

  1. У вас есть рабочий элемент, сосредоточенный на некоторое время.
  2. Кто-то редактирует и сохраняет элемент.
  3. Когда вы начинаете редактирование, вы фактически редактируете устаревшую версию рабочего элемента и получите TFS23709 при попытке сохранить.

Я хорошо знаком с TFS SDK (написал некоторые надстройки TFS VS и пользовательские элементы управления рабочими элементами), но не могу найти что-то вроде события «BeforeEdit» для рабочего элемента.

Наличие такого события позволило бы мне предупредить пользователя о том, что кто-то другой в настоящее время редактирует (для сценария A), и получить последнюю версию перед редактированием (для сценария B).

Спасибо, Равив.


person Raviv Pavel    schedule 21.07.2011    source источник
comment
Раджив, проверьте это msdn.microsoft .com/ru-ru/library/. Это поможет вам?   -  person Tarun Arora    schedule 24.07.2011
comment
Не думайте, потому что это API для контроля версий, а не для отслеживания рабочих элементов. Кроме того, мне нужно проверить версию и статус рабочего элемента, прежде чем пользователь начнет редактирование.   -  person Raviv Pavel    schedule 24.07.2011


Ответы (1)


Оптимистичный параллелизм — вот что это такое. Сервер не отслеживает, кто редактирует рабочие элементы, поэтому, если вы действительно хотите делать уведомления «Кто-то другой редактирует этот элемент», вам, вероятно, придется написать свои собственные службы и настраиваемые элементы управления для его отслеживания. Вам также придется иметь дело с флагами редактирования, которые не будут выпущены, если Visual Studio выйдет из строя, и с веб-интерфейсом. Если вы выберете этот путь, я желаю вам удачи!

person Richard Banks    schedule 03.09.2011