Принудительная регистрация файла TFS через C #

StackOverflow https://stackoverflow.com/questions/213873

  •  03-07-2019
  •  | 
  •  

Вопрос

Как я могу указать, что я ВСЕГДА хочу, чтобы локальный файл заменял копию сервера, даже если копия TFS новее?


if (pendingChanges.GetUpperBound(0)>-1)
   ChangeSetNumber = workspace.CheckIn(pendingChanges, filename);

Я вижу из intelisense, что я могу указать checkinoptions в качестве параметра метода CheckIn, я просто не могу найти то, что мне нужно вставить, чтобы оно всегда регистрировалось и игнорировало конфликт может придумать.

Заранее спасибо.
РЕДАКТИРОВАТЬ: Я нашел команду TF RESOLVE " item " / auto: AcceptYours / recursive Так что я думаю, что мой пересмотренный вопрос был бы: есть ли программный эквивалент переключателю / auto: AcceptYours?
NecroEDIT: обработайте конфликты перед проверкой

Conflict[] conflicts = workspace.QueryConflicts(new string[] { TFSProject }, true);

foreach (Conflict conflict in conflicts)
{
    conflict.Resolution = Resolution.AcceptTheirs;
    workspace.ResolveConflict(conflict);
}
Это было полезно?

Решение

Checkins являются атомарными - либо все они успешны, либо все они терпят неудачу. Если существуют какие-либо конфликты, которые необходимо разрешить до регистрации, операция регистрации вызовет исключение. (Документация)

Вы должны оценить возврат на наличие конфликтов, а затем разрешить CheckinConflicts с помощью метода Workspace.ResolveConflict. ResolveConflict ожидает CheckinConflict, а результат EvaluateCheckin (который является CheckinEvaluationResult) включает CheckinConflicts.

Эта страница может помочь.

Примечание: checkinoptions не связано с тем, что вы спрашиваете.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top