如何在签入时禁用任务的自动完成状态

我们刚刚移动到使用TFS 2012,这似乎是对VS2012可用性的2008年的一个巨大的升级。

但是,如果您将工作与特定任务连接起来,那么“我的工作”function就有一个非常烦人的function。 将任务连接到工作项目后,任何签到任何分支都会将任务标记为“已完成”状态。 我怎样才能禁用这个? 我想要开发分支,以便在开发过程中进行小的提交,但是如果我这样做的话,我不能将这个任务与我目前的工作联系起来。 做到这一点的唯一方法(我知道)是在我将我的个人分支中的所有小提交合并到master之前,为我当前的工作select任务。 是的,这是可行的,但它并不像工作stream程那么好。

使用Scrum模板中的任务板function完成工作后移动任务无论如何都是工作stream的普通部分。 自动完成的运动是相当烦人的自动化,不应该在那里。

所以我的问题是:如何禁用这个? 这个function是模板的一部分还是与TFS工作项目pipe理更深入的整合?

我们使用微软的Scrum 2.0模板。

当您处于待处理更改面板中准备好检入修复程序,并将工作项与变更集相关联时,您应该将“解决”更改为“关联”(或Scrum中的内容)。

待定变更


为了使这个默认更复杂。

您将需要编辑正在使用的工作项目types的工作项目模板定义 (错误,任务等)。

一个选项是完全删除“解决”选项,你可以这样做,如下所示:

打开工作项目types的XML(或者如果您愿意,可以使用Power Toys中的GUI):find并删除:

  • <ACTION> <ACTION value="Microsoft.VSTS.Actions.Checkin" /> </ACTION>

部分从你的模板 – 它将在<TRANSITIONS>对2个状态之间的特定转换。

这样做意味着TFS将永远不会将您的工作项目作为您签入的一部分进行转换,您将不得不每次都这样做。

另一个select是添加一个新的工作项目“状态”(例如“正在开发中”),该工作项目没有签入行为。 然后,您可以将工作项目转换到此状态,然后再检查它们,然后在“检查”和“解决”之前返回“已分配”(或其他)。

Wrox的专业团队基础服务器2010年的书将帮助WIT编辑。

有可能有更多的方法来做到这一点,这一切都取决于你的工作团队和环境:)。


还有另一种方式来做这只会影响你的客户端机器

要使“关联”默认操作(而不是“解决”),请设置registry项

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinActionFalse

NB用VS2015的14.0代替VS2013的12.0,VS 2012的11.0代替VS 2010的10.0

现在,您可以升级到VS2015(如果您尚未这样做),并取消选中新的checkbox“工具”>“选项”>“源代码pipe理”> Visual Studio Team Foundation>“解决签入时关联的工作项目”。 之后,“Associate”成为默认选项,您不需要在提交时手动更改它