TFS 2013 自定义签入策略
TFS 2013 Custom Check in Policy
我正在尝试为特定团队项目 (projectA) 实施自定义策略。但是,当我在 projectA 的上下文中实现它时,它会评估包含的签入中的每个文件。假设我签入了大于 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"
如果自定义签入策略运行良好,您只需使用自定义路径策略。正如所提到的描述:此策略将其他策略的范围限定为特定文件夹或文件类型。
注意:需要 TFS 201X Power Tools。
详细使用步骤,可以参考这个link:TFS 2010 : How to apply check-in policies to only certain branches or folders
我正在尝试为特定团队项目 (projectA) 实施自定义策略。但是,当我在 projectA 的上下文中实现它时,它会评估包含的签入中的每个文件。假设我签入了大于 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"
如果自定义签入策略运行良好,您只需使用自定义路径策略。正如所提到的描述:此策略将其他策略的范围限定为特定文件夹或文件类型。
注意:需要 TFS 201X Power Tools。
详细使用步骤,可以参考这个link:TFS 2010 : How to apply check-in policies to only certain branches or folders