通知开发人员文件已被覆盖

Notify developer that the file got overwritten

我们使用 Microsoft Team Foundation Server 进行版本控制,其中多个开发人员在一个分支上工作并签入和签出代码。

如何通过电子邮件或短信通知开发人员 A 他的代码在开发人员 B 签入期间被覆盖了。

开发人员 A 需要尽快了解这一点,因为开发人员 A 的代码更改在部署到 QA 时将不起作用。

我们正在努力在快节奏的开发环境中节省时间,并努力避免代码覆盖问题。

如果您需要在签入和合并期间避免此问题,那么我建议禁用多次签出。这允许文件一次只能签出一个,并且可以防止团队项目混淆。

如果您需要做更深入的工作,您可以在签入任何代码并将其发送到分发列表时创建 TFS 警报,但它不会在特定开发人员的特定贡献发生更改时发出通知 - 仅签入期间更改的文件列表。

允许持续并行开发并防止一个人的签入破坏他人代码的最简单方法是使用 CI 服务器。 TFS 通过 Team Build 支持这一点。

虽然 运行 team build 在专用构建服务器上更好,但它可以并排安装在您的主 TFS 服务器上,并且可以集中安装 Controller 组件并使用开发人员的工作站作为代理人。

有两种类型的构建触发器可以帮助您解决问题:

  1. 持续集成 - 这会在每次签入后直接触发所有代码的构建。它会很快告诉你有些东西没有编译。如果您正在进行单元测试,它甚至可以 运行 这些并告诉您测试失败。

  2. Gated - 这将迫使开发人员搁置他的代码,并且只会在最新版本的构建加上搁置集中的更改成功时才签入代码。这似乎更好,因为源代码管理中的代码永远不会处于损坏状态,但实际上我更喜欢 ci 触发器。我们的主要原因是门控构建不能并行发生(由于它们的性质)并且实际上可以延迟代码被破坏的通知。

您可以通过 Webaccess 轻松配置针对特定cific 构建结果的电子邮件警报。您还可以配置源更改警报,但没有选项只警告以前编辑过这些 specific 文件的人。

您还可以 运行 任务栏中的构建通知工具以在 Windows 中显示通知。

虽然这不会告诉代码刚被覆盖的人它不再工作了,但它会告诉我重写该代码的人他在签入时应该多加注意;)。

当然,您可以配置一个团队警报,在构建中断时通知每个人(通常这样称呼),还有一些有趣的方式可以通过“siren of shame”等小应用程序显示构建状态,这提供构建监控服务,可以连接到 USB 警报灯,只要有人做了蠢事,警报灯就会亮起并发出声音。