【发布时间】:2016-03-17 17:20:20
【问题描述】:
在 TFS2010 中,每个构建都与构建服务器的标签相关联。
我们的 SCM 管理层希望查看两个标签之间的所有变更集和相关工作项。大多数情况下,这些标签是具有“已发布”构建质量的构建。这样就可以报告两个交付的构建之间的所有更改。
这是如何在 TFS 2010 中完成的?
【问题讨论】:
标签: tfs
在 TFS2010 中,每个构建都与构建服务器的标签相关联。
我们的 SCM 管理层希望查看两个标签之间的所有变更集和相关工作项。大多数情况下,这些标签是具有“已发布”构建质量的构建。这样就可以报告两个交付的构建之间的所有更改。
这是如何在 TFS 2010 中完成的?
【问题讨论】:
标签: tfs
我认为您不想使用标签,我认为您想使用构建的日期/时间。标签很容易改变,不一定代表一个时间点。假设您有构建的日期时间,您可以使用TF.EXE 命令行来生成它。
例如:
tf.exe history /server:http://tfs:8080 "$/ProjectName/src" /version:D2010-09-12T11:30~D2010-09-29T11:30 /recursive /noprompt /brief
/version: 参数是这里的关键之一。这应该在您的第一次构建时间之后,直到并包括第二次构建的时间。
如果您使用/format:detailed,您还将获得每个变更集中发生更改的所有文件的列表。这可能是很多数据。如果您这样做,您可能希望重定向输出 > output.txt。
更新
如前所述,事实上,您可以确定两个标签之间的变化。但是,如果这些标签已移动,您的结果可能会受到影响。
tf.exe history /server:http://tfs:8080 "$/ProjectName/src" /version:LMain-CI_20100831.6~LMain-CI_20100927.1 /recursive /noprompt /brief
我仍然建议使用日期而不是标签。我相信您从该方法获得的结果可能更符合您的要求。
更新 2
我刚刚注意到您使用的是 TFS 2010。您可能必须更改 /server: 参数以指向适当的集合。使用TF.EXE history /? 获取参数列表,但更改为使用/collection:TeamProjectCollectionUrl
【讨论】:
LBuild1234@$/TeamProject)会更明显
tf history /server:"http://tfsserver:8080/tfs/DefaultCollection" "$/project root/Dir/SubDir" /recursive /noprompt /format:detailed /version:"L1.1.66.0~L1.1.67.0"
注意版本选项中的 L 前缀。
【讨论】: