Принудительная регистрация файла TFS через C #
Вопрос
Как я могу указать, что я ВСЕГДА хочу, чтобы локальный файл заменял копию сервера, даже если копия 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 не связано с тем, что вы спрашиваете.
Надеюсь, это поможет. Р>