我想保留(现在)能够将Git变更集链接到存储在TFS中的工作项.
我已经编写了一个工具(使用Git中的一个钩子),我可以在其中将workitemidentifiers注入到Git变更集的消息中.
但是,我还想将Git提交的标识符(哈希)存储到自定义TFS工作项字段中.通过这种方式,我可以检查TFS中的工作项,并查看与工作项相关联的Git更改集.
如何从Git的当前提交中轻松检索哈希?
我想在TFS中创建一个工作项查询的平面列表,其中结果包含所有指定的PBI和Bug案例以及任何没有父项的任务案例.
这是没有父母部分的任务让我感到困惑.我无法看到一种方式,我可以做一些看起来很明显的东西,如(父链接计数= 0),因为该属性不会暴露给我,奇怪的是,其他一些链接类型计数.
有任何想法吗?
在VS2010中的TFS中是否有一种方法可以指定特定的迭代是当前的迭代,然后返回用于类似于@Project
工作方式的查询?如果没有,是否有办法在TFS工作项查询中进行子查询?
我有一个TFS服务器安装,随着时间的推移,从TFS 2005升级到TFS 2008再升级到TFS 2010.在安装的生命周期中,已经创建了很多项目并且使用了不同的项目模板.MSF Agile 4.0,4.1,4.2和5.0.以及一些MSF CMMI.
我想要做的是"替换"用于所有这些项目的项目模板,以使用一个新的常用项目:Microsoft Visual Studio Scrum 1.0.
我知道TFS项目模板用作创建新项目的模板,并且在创建后无法修改tfs项目定义.
Uptil现在只使用了TFS的版本控制和构建服务器部分,并且没有现有的工作项类型.
此外,所有项目和构建脚本都依赖于源代码路径保持不变.
在我看来,我有以下选择:
使用正确的项目模板创建新的TFS项目,然后将源代码移动/分支到新项目.
临时团队项目已删除
所有构建定义都需要重新创建,这不是一个选项.
源代码移动/分支将"搞乱"版本控制历史记录
通过搞乱版本化历史,我的意思是当你移动源代码时,它会在幕后在原始位置执行delete + source重命名,并且历史记录仍将位于旧项目中.这将使历史记录中的搜索变得困难,如果我实际上删除了旧项目,我将在源代码移动之前删除所有历史记录.
这对我来说真的不是一个选项,因为需要多年的代码更改历史记录来支持正在构建的不同应用程序.
使用TFS迁移工具迁移到另一个TFS项目
替换/导入工作项类型,安装新报表,创建新的SharePoint站点
对于每个tfs项目
使用"witadmin deletewitd"删除现有工作项定义
使用"witadmin importwitd"从新流程模板导入每个工作项定义
使用"witadmin importcategories"导入工作项类别
删除报表服务器中项目文件夹中的旧报表
从新流程模板上载报告定义
使用报表管理器修改用于报表的数据源,以指向正确的共享数据源(TfsReportDS和TfsOlapReportsDS)
将报表参数ExplicitProject默认值修改为""(空字符串)并禁用提示用户选项.
使用stsadm导出旧SharePoint网站中的文档
删除旧的SharePoint站点
使用TFS2010 Agile Dashboard站点模板重新创建sharepoint站点
激活站点功能"Team Foundation Server Scrum仪表板"
在TFS项目设置 - >项目门户设置:启用"团队项目门户"并确保URL正确.启用"报告和仪表板引用此团队项目的数据"
最后......
处理仓库
处理分析数据库
即使这涉及许多小步骤,这看起来更有吸引力,因为这个选项不会强迫我移动源代码,我的现有构建定义将完好无损.
我的问题:
是否还有其他方法可以替换我未提及的工作项类型?
和/或我错过了最后解决方案中的任何步骤?
我们正在使用TFS 2010和团队资源管理器的项目管理工作项功能.
当工作项(如错误或任务等)被分配给用户时,如何向该人发送电子邮件通知他们新项目?
是否可以更改TFS工作项的类型?例如,我有一个Bug我想更改为变更请求.
我们已经开始在TFS 2010中使用以下分支结构:
到目前为止,所有更改都已在开发分支中执行,并且所有签入都与任务工作项相关联.任务都是Bug或Product Backlog Item工作项的子项.每个CI构建都针对特定变更集触发,变更集与任务相关联,因此我们可以手动确定刚刚构建的Bug或PBI.
在构建代码,部署到我们的Integration环境并由开发人员测试之后的某个时间,它将合并到Main分支.显然,可以同时将多个变更集合并到Main.如果我们在此之前没有手动触发每晚,那么每晚构建将构建此代码.QA稍后会将这些"主要"构建中的一个部署到QA环境中.
自上次QA部署以来,Main分支可能已经有多个版本.这些构建与"合并"变更集相关联,而不与与任务相关联的原始变更集相关联.
如何确定已由给定"主"构建解决的任务集,该构建是与与任务工作项关联的分支构建的不同分支?
一旦我们开始准备发布,我们可能需要在Release分支中进行更改,这将使事情进一步复杂化,因为我们将从Release合并回Main,并且Release更改集将与Tasks相关联.那些将被合并到开发,使生活更有趣!
PS问题" 如何确定与TFS 2010中的源分支相关的工作项? "问题接近于提出同样的问题,但并不完全.
我知道TFS Power工具提供了强大的TFS命令行工具,可以通过Visual Studio集成功能提供更多功能.
我有几个与任何工作项无关的变更集.我想创建一个新的工作项并将这些现有的变更集与它相关联.
这可能吗?我没有看到任何特殊原因,但这取决于命令行工具是否提供此类功能.
这是我之前关于TFS 2010的问题以及创建更改日志的可能性.
我以前使用标签来识别程序的版本,但由于标签不是固定的时间点,现在我正在使用分支机构.
以下是分支层次结构的外观:
如您所见,有两个不同的应用程序是主干的分支:( APP_A
应用程序A)和APP_B
(应用程序B).两者几乎完全相同,但存在一些功能差异.
以下是创建应用程序新版本(例如版本1.3)的过程:
Main trunk
被修改(新功能的添加,bug修复...)Main trunk
,创建一个新分支:Main trunk 1.3
APP_A
分支可能被修改,因此独特的功能APP_A
将适用于修改v1.3APP_B
分支可能被修改,因此独特的功能APP_B
将适用于修改v1.3Main trunk 1.3
合并到APP_A
和APP_B
,所以两者APP_A
和APP_B
应用程序都接受修改Main trunk
APP_A
分支中,创建一个新分支:APP_A_1.3
APP_B
分支中,创建一个新分支:APP_B_1.3
我的目标是能够在APP_A_1.3
和之间生成更改日志APP_A_1.2
.
通过changelog我的意思是WorkItems列表.签入的每个变更集都与一个或多个WorkItem(例如Bug项)相关联.我希望能够获得链接到受影响的变更集的所有工作项列表APP_A_1.3
:这些变更集可能来自Main trunk
(上面的步骤1),APP_A branch
(上面的步骤3)甚至APP_A_1.3
分支本身(如果是修补程序是在创建分支后签到).
为了获得这个工作项列表,我试图得到所有"链接"的变更集列表APP_A_1.2
("链接"=变更集中签入的代码现在在分支上APP_A_1.2
)以及所有变更集的列表是"联系"的 …
在Visual Studio(2012+)中,我想要一个从代码注释到TFS工作项的可点击引用.有没有一种简单的方法可以做到这一点,这也可能来自函数体内的注释(不是函数的摘要)?
所以我想要这样的东西:
/// <summary>
/// Example of a summary
/// </summary>
static void Main()
{
int dummy = 1; //Should be 1 according to @Task1234 <- should be a hyperlink
}
Run Code Online (Sandbox Code Playgroud)
而不是这样的事情:
/// <summary>
/// Example of a summary, see <a href="http://mytfsserver:8080//tfs/myCollection/Branch/_workItems#id=1234"> Task 1234 </a>.
/// </summary>
static void Main()
{
}
Run Code Online (Sandbox Code Playgroud)
一些标签阅读材料: 文档注释的推荐标签(C#编程指南)
tfs-workitem ×10
tfs ×8
tfs2010 ×4
branch ×2
c# ×2
changeset ×2
associations ×1
azure-devops ×1
changelog ×1
git ×1
tfs2013 ×1
tfsbuild ×1
xml-comments ×1