TFS 2013自定义检入策略

时间:2016-02-22 21:32:59

标签: c# tfs checkin-policy

我正在尝试为特定团队项目(projectA)实施自定义策略。但是,当我在projectA的上下文中实现它时,它会评估包含的check ins中的每个文件。假设我有一张大于1MB的ProjectB签到。即使它不在当前政策projectA的背景下,它也将对此进行评估。如何调整它以便它只评估当前项目。

public override PolicyFailure[] Evaluate()
{
    foreach (PendingChange pc PendingCheckin.PendingChanges.CheckedPendingChanges)
    {
        FileInfo file = new FileInfo(pc.LocalOrServerItem.ToString());
        if (file.Length > 1048576)
        {
            return new PolicyFailure[] { new PolicyFailure("File size exceeds 1 MB. The size of the file is: " + file.Length.ToString() + " Bytes.", this) };
        }
    }
    return new PolicyFailure[0];
}

注册表项我使用:

[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"TeamFoundation.Samples.CheckFileSizePolicy"="$PackageFolder$\CheckFileSizePolicy.dll"

1 个答案:

答案 0 :(得分:2)

如果自定义签入策略运行良好,则只需使用自定义路径策略。就像上面提到的描述一样:此策略将其他策略范围限定为特定文件夹或文件类型。

注意:需要TFS 201X Power Tools。

有关如何使用此功能的详细步骤,您可以参考以下链接:TFS 2010 : How to apply check-in policies to only certain branches or folders