如何在TFS 2012中将审阅请求与多个更改集相关联

时间:2012-12-17 16:43:05

标签: tfs tfs2012 tfs-code-review

我们的开发过程是这样的:每两周,团队领导(我)进入并审核每个人的变更集,以确保他们符合编码标准。我想使用TFS 2012帮助自动完成此过程。

这有两个问题:

  1. 无法提交未经请求的代码审核。如果有必要,我可以在没有这个的情况下生活,我想

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

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

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

    以下是截图:

    No changeset option to be found... :(

4 个答案:

答案 0 :(得分:10)

  1. 未经请求,没有。
  2. 您可以在历史记录屏幕中右键单击一个changset,以便在签入后请求审核。
  3. 有一个讨厌的解决方法来获得你想要达到的目标。查看您要查看的所有文件并请求审核。然后,您可以撤消结帐,搁置集和审核请求将保留。

    或者,您只需转到源代码管理选项卡并在解决方案的根文件夹上执行结帐操作,请求审核,撤消结帐并进行审核。

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

    enter image description here

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

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

答案 1 :(得分:1)

另一种方法:

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

2)让所有开发人员在接下来的两周内将他们的签到与该工作项#

相关联

3)当您准备好执行审核时,只需打开工作项并浏览更改集。

这应该能达到你想要的效果。

答案 2 :(得分:0)

在第2项中,我有一个标准的解决方法,您可能希望将来自多个更改集的所有更改合并到一个 shelveset 中以供审阅。我尝试了上面提到的结账方法并遇到了问题,部分是因为我的评论有大约25个文件,在检查完之后,如果我刷新,TFS将它们从待处理的更改中删除,因为TFS的意见没有变化。

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

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

此时,转到历史记录并回滚其他人可能在此期间可能已更改的任何更改集(如果有),您不希望成为审阅的一部分,除非有人更改了公共文件。离开那些。

使用超越比较,比较" D:\ Latest ..."到" D:\ Review ...",将您的更改从最新复制到审核。进入公共文件并仅复制要查看的行。当Beyond Compare写出更改时,TFS将检测到更改并将您保存的文件放入待处理的更改列表中,以便" Review"工作区。 (这是本地工作空间的一个特征。)

此时,您只需将待处理的更改搁置在"评论"工作区,并要求审查该货架。

答案 3 :(得分:0)

选项#3

[我在此假设您尝试与单个代码审核关联的更改集是连续的,例如20001:20010 ]

  1. 我“将[ed]回滚到特定的变更集”(在上面的示例中) 20001)。我在变化中检查它。代码现在是原始的 状态。

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

  3. 最后,我要求对最新版本进行审核。这篇评论 比较最近的两个提交 - 我创建的提交 回滚。

  4. 作为奖励,您可以比较历史记录页面中的特定更改集。您可以使用此比较来确保上面的提交确实将代码还原为修订版20001和20010。

相关问题