Пользовательская политика регистрации TFS: «Снимите флажок» с отмеченного ожидающего изменения во время оценки - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть расширение Check-In-Policy для VS2017 (с использованием TFS 2017), которое проверяет, содержит ли ожидающая регистрация файлы, соответствующие данному регулярному выражению.
Если совпадающие файлы содержатся в CheckedPendingChanges, метод Evaluate возвращает PolicyFailure, чтобы избежать проверки в этих файлах.

[Serializable]
public class FileWarningPolicy : PolicyBase
{
   // ...

   public override PolicyFailure[] Evaluate()
   {
        Regex regex = new Regex(Pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
        if (PendingCheckin.Policies.EvaluationState != PolicyEvaluationState.Evaluated) return new PolicyFailure[0];                
        var matchingFiles = from change in PendingCheckin.PendingChanges.CheckedPendingChanges                                   
                            where change.IsEdit && regex.IsMatch(change.ServerItem)
                            select change;               

        return matchingFiles.Any()
               ? new [] { new PolicyFailure("some error message", this)
               : new PolicyFailure[0];

    }
}

Это отлично работает. Но было бы гораздо удобнее, если бы я мог просто «снять» эти файлы, чтобы исключить их из текущей регистрации, но не прервать всю регистрацию.

Через свойство PendingCheckin.PendingChanges у меня есть доступ к текущему Workspace, в котором есть много методов для загрузки, регистрации, извлечения, хранения и т. Д. Элементов хранилища, но ничего только снять / исключить их из отмеченных ожидающих изменений (только добавить исключающую запись в .tfignore, а это не то, что мне нужно).

Есть ли способ достичь этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...