2012-12-17 21 views
25

我们的开发流程如下所示:每两周,团队负责人(我)进入并审查每个人的变更集,以确保他们符合编码标准。我想用TFS 2012来帮助实现这个过程的自动化。如何将审阅请求与TFS 2012中的多个变更集关联起来

有2个问题是:

  1. 没有办法提交的不请自来的代码审查。如果有必要,我可以在没有这个的情况下生活,我想

  2. 没有办法将代码审查与多个变更集相关联。这是一个交易断路器

我读到一篇文章,其认为很可能在事后变更集链接到一个工作项目,当我打开工作项请求审核我看到链接标签。但是,当我点击“新建”或“链接到...”时,没有选项可链接到变更集。只有一个选项可链接到流程中的每个工作项类型。

有谁知道如何做到这一点?有没有计划将这些功能添加到TFS?

以下是截图:

No changeset option to be found... :(

+0

更多的解决方法而不是解决方案:为了主动提供评论,我自己检查文件,编写一些建议的更改并请求原始作者的评论。 –

回答

10
  1. 不请自来,没有。
  2. 您可以在历史记录屏幕中右键点击changset以请求查看帖子。

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

或者,您可以转到源代码管理选项卡并执行结帐 - 所有这些都位于解决方案的根文件夹中,请求审阅,撤消结帐并执行审阅。

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

enter image description here

我希望你可以使用TFS API生成搁置了所有从一个特定的开发者在给定的TIMERANGE的变化,把这些放在搁置,并要求对进行审查。但是现有的功能不存在。

或者您也许可以通过创建一个具有相同名称的新书架来编辑与审阅相关的货架集。

+0

1.当。 2.我喜欢你关于检查整棵树的建议,但不幸的是它不起作用。 Tfs抱怨说每个评论请求有2000个文件的限制。我们已经接近7000. :( – Doug

+7

我觉得微软只是不希望我使用这个功能...... :( – Doug

+0

3x2000文件和1x7000? – jessehouwing

1

的另一种方法:

1)在两个星期的周期的开始,启动代码审查过程,并注意所创建的工作项数量。只需简单地向您提出自己的评论,而不需要更改代码。

2)让开发人员在未来2个星期的工作项目#

3)当你准备好进行审核,只需打开工作项目并办理变更相关联的签到地点。

这应该完成你想要的。

+0

在该工具中,因为你不能要求对工作项目进行评审,反馈请求与Changeset或货架组相关联。 – jessehouwing

+0

正确,但你可以请求请回顾虚拟变更集/ shelveset(只是空间),将审阅请求与创建链接的工作项相关联,然后继续将变更集与审核请求工作项目编号关联起来? –

+2

您可以将变更集关联到相同的工作项目,但不会将它们与实际的代码审查相关联,并且这些更改将不会显示在Visual Studio用户界面中。 – jessehouwing

0

关于项目#2,我有一个标准的解决方案,您可能希望将来自多个更改集的所有更改合并为一个搁置集以供审阅。我尝试了上面提到的结账方法,并遇到了问题,部分原因是我的评论有25个左右的文件,检查出来后,如果我刷新了,TFS将它们从未决更改中删除,因为TFS的意见没有变化。

首先,(假设你的变化已经签入,并在多个变更集),有最新的文件工作空间中的磁盘路径,如d上:\最新...

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

此时,请转至历史记录并回滚其他人可能在此期间更改过的任何变更集(如果有的话),而您不想成为其中的一员审查,除非有人更改了一个共同的文件那些。

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

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

0

选项#3

[我在这里假设你正试图关联到一个单一的代码审查的变更是连续的,比如20001:20010]

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

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

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

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

相关问题