30

我们的开发过程是这样工作的:每两周,团队负责人(我)会检查每个人的变更集,以确保它们符合编码标准。我想使用 TFS 2012 来帮助自动化这个过程。

这有两个问题:

  1. 没有办法提交未经请求的代码审查。如果有必要,我可以没有这个生活,我想

  2. 无法将代码审查与多个变更集相关联。这是一个交易破坏者

我读过一篇文章说可以在事后将变更集链接到工作项,当我打开工作项进行请求审查时,我确实看到了“链接”选项卡。但是,当我单击“新建”或“链接到...”时,没有链接到变更集的选项。只有一个选项可以链接到流程中的每个工作项类型。

有人知道怎么做这个吗?是否有计划将这些功能添加到 TFS?

这是一个屏幕截图:

找不到变更集选项... :(

4

4 回答 4

10
  1. 不请自来的,没有。
  2. 您可以右键单击历史屏幕中的变更集以请求审核后签入。

并且有一个讨厌的解决方法来获得您想要实现的目标。查看您要查看的所有文件并请求查看。然后您可以撤消结帐,搁置集和审核请求将保留。

或者,您可以转到源代码控制选项卡并在解决方案的根文件夹上执行 checkout-all,请求审查,撤消签出并进行审查。

至于将变更集链接到工作项,这可以在签入后完成。打开工作项,转到链接选项卡并单击“链接到...”下拉菜单将有一个“变更集”选项。但我不认为代码审查请求启用了这种链接类型,因为它们使用 Shelveset 而不是一组变更集作为代码审查的源。

在此处输入图像描述

我希望您可以使用 TFS API 生成一个搁置集,其中包含特定开发人员在给定时间范围内的所有更改,将它们放在搁置集上并请求对其进行审查。但是不存在这样做的现有功能。

或者,您可以通过创建一个具有相同名称的新搁置集来编辑与评论关联的搁置集。

于 2012-12-18T00:33:00.963 回答
1

另一种方法:

1) 在两周周期开始时,启动代码审查流程并记下创建的工作项编号。只需请求您自己进行审核,一开始无需更改代码。

2) 让您的所有开发人员将他们接下来 2 周的签到与该工作项相关联#

3) 当您准备好执行审查时,只需打开工作项并检查变更集。

那应该完成你想要的。

于 2012-12-20T04:06:47.097 回答
1

选项#3

[我在这里假设您尝试关联到单个代码审查的变更集是连续的,例如 20001:20010 ]

  1. 我“回滚 [ed] 回一个特定的变更集”(在我上面的 20001 示例中)。我在更改中检查它。代码现在处于其原始状态。

  2. 然后,我“回滚 [ed] 到一个特定的变更集”(在我上面的 20010 示例中)并再次签入。代码现在处于最终状态。

  3. 最后,我要求对最新版本进行审查。这篇评论比较了最近的两个提交——我从回滚中创建的那些。

作为奖励,您可以比较历史页面中的特定变更集。您可以使用此比较来确保上述提交确实将代码恢复到修订版 20001 和 20010。

于 2017-11-08T18:02:49.203 回答
0

关于第 2 项,我有一个标准的解决方法,您可能希望将来自许多变更集的所有更改合并到一个搁置集中以供审查。我尝试了上面提到的签出方法并遇到了问题,部分原因是我的评论有 25 个左右的文件,并且在签出它们之后,如果我刷新,TFS 会将它们从待处理的更改中删除,因为 TFS 认为没有任何更改。

首先,(假设您的更改已经签入,并且在多个变更集中),拥有一个工作区,其中包含磁盘路径上的最新文件,例如 D:\Latest...

创建一个新的“本地”工作区(称为“Review”),将同一个项目映射到稍微不同的路径(例如,D:\Review...")获取所有文件。转到该项目的历史记录和之前您最早的变更集,右键单击并选择“获取此版本”。

此时,转到历史记录并回滚其他人可能同时更改的任何更改集,如果有的话,您不想参与审查,除非有人更改了公共文件。留下那些。

使用超越比较,将“D:\Latest...”与“D:\Review...”进行比较,将您的更改从“Latest”复制到“Review”。进入公用文件并仅复制您要查看的行。当 Beyond Compare 写出更改时,TFS 将检测更改并将您保存的文件放入“Review”工作区的待处理更改列表中。(这是本地工作区的一个功能。)

此时,您只需从“审阅”工作区中搁置待处理的更改,并请求对该搁置集进行审阅。

于 2016-11-16T16:06:23.410 回答