在本专栏的最近三期中,我探讨了 Team Foundation Server (TFS) 版本控制和工作项跟踪 API。我 使用这些 API 构建了一个 Microsoft Word 2003 加载项,为 Word 文档的签入和工作项关联提供 支持,这类似于 Visual Studio 2005 中团队资源管理器的功能。在本期专栏中,我将深入论述签 入说明和策略。您将了解签入说明的工作原理以及如何编写自己的自定义策略实现。在未来的专栏中,我 会将此支持添加到 Word 加载项中。
签入说明和策略
签入说明是自由格式的文本字段,可用于向签入中添加分类的字符串数据。签 入说明在团队项目级别定义,并可作为签入操作的一部分强制实施。Microsoft 提供的默认项目模板定义 了三种签入说明:代码审阅者、安全性审阅者和性能审阅者。它们都不是强制性的;您可定义自己的签入 说明,方法是在创建团队项目之后使用团队资源管理器和/或 API,或者在创建团队项目之前通过修改过 程模板中的 VersionControl.xml 文件。定义签入说明时,要定义一个最多 64 个字符的标签,指定签入 时是否要求提供该说明,并指定该说明在签入窗体中的显示位置。签入时,说明的值最多可以包含 2048 + (230 – 1) 个字符。前 2048 个字符存储在数据库的 nvarchar 列中 — 任何超出部分都 将存储在 ntext 列中。
签入策略强制执行由团队项目管理员定义的规则。策略可以很简单,例如 确保您在签入时输入注释,也可以很复杂,例如执行静态代码分析和运行测试。2005 版的 TFS 出厂时附 带了三项策略。随后,作为 Microsoft Visual Studio 2005 Team Foundation Server Power Tool 的一 部分,Microsoft 又新增了四项附加签入策略。图 1 提供了有关全部七项策略的详细信息。(当然,是 “Tool”而不是“Tools”。请参见 msdn2.microsoft.com/aa718351。)
Figure 1 Microsoft 提供的策略
策略 | 发布 | 策略要求 |
工作项 | RTM | 至少在签入中关联一个工作项。没有配置选项。 |
代码分析 | RTM | 在签入之前运行静态代码分析(这意味着要进行干净的编译)。您可以控制策略 是否应用于托管代码和/或 C++ 代码。 |
测试 | RTM | 在签入之前运行 策略测试列表指定的测试。您可以控制策略运行的测试列表。 |
注释关联 | Power Tool | 签入时输入注释。没有配置选项。 |
禁止模式 | Power Tool | 允许您定义一组不希望签入到存储库中的文件。通过指定简单的文件扩展 名或使用正则表达式来配置策略。 |
工作项查询 | Power Tool | 将来自 指定查询的工作项与签入相关联。通过从团队项目中选择团队查询来配置策略。 |
自定 义路径 | Power Tool | 与另一个策略协同工作。它允许您有选择地将 “buddy”(密友)策略应用于团队项目的源代码管理树的子集。 |