将TFS 2010历史记录导出到Excel或文本文档

问题描述 投票:19回答:5

如何从TFS 2010导出包含用户,日期和完整注释(未截断)的历史记录?

例如,在团队资源管理器中:右键单击团队成员名称>显示签入历史记录。这将显示用户的登记历史记录,但评论会被截断。

tfs export
5个回答
8
投票

最简单的方法是从excel连接到TFS Warehouse,然后从excel表中的源控制历史记录中提取数据。这非常简单而且非常强大。

你会在这里找到有用的信息:http://www.woodwardweb.com/vsts/getting_started.html

编辑:

当您无权访问SSAS时使用TFS API枚举更改集(例如,例如tfspreview.com):

TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, true);
tpp.ShowDialog();

var tpc = tpp.SelectedTeamProjectCollection;

VersionControlServer versionControl = tpc.GetService<VersionControlServer>();

var tp = versionControl.GetTeamProject("MyTeamProject");
var path = tp.ServerItem;

var q = versionControl.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, new ChangesetVersionSpec(1), VersionSpec.Latest, Int32.MaxValue, false, true, false, false);

foreach (Changeset cs in q)
{
    var user = cs.Owner;
    var comment = cs.Comment;
    var date = cs.CreationDate;

    Debug.WriteLine(string.Format("[{3}] Date: {0}, User: {1}, Comment {2}", date, user, comment, cs.ChangesetId));
}

16
投票

你有3个选择:

  1. 解析tf.exe history命令的输出。
  2. 根据TFS客户端对象模型编写代码。
  3. 直接针对TFS数据库编写查询。

1号可能是最简单的,所以我将从那开始。您可以阅读tf history命令here的文档。为了使注释不被截断,您需要使用/ format:detailed选项。如果您想要所有历史记录,请尝试以下方法:

历史$ / / r /格式:详细/ noprompt

如果您要查找给定用户的所有更改集,请尝试以下操作:

tf history $ / / r / format:detailed / user:/ noprompt

这将产生大量的文本输出,您需要解析才能将其放入Excel中。试一试,如果您对选项2或3感兴趣,请告诉我,我可以为您提供更多详细信息。


1
投票

您也可以像这样使用TFS Rest API: -

https://{accountName}.visualstudio.com/{project}/_apis/tfvc/changesets?
searchCriteria.author={userName}&$top=100

这将生成一个JSON,您可以将其上传到任何在线网站,如https://json-csv.com/并获取CSV。


0
投票

这实际上不是自动导出,而是考虑共享。

对于VS2015我发现更容易跟随(大约20个变更集)

  1. 在VS2015开设了分公司
  2. 右键单击=>查看历史=>所有变更集可见
  3. 单击每个更改集==>右键单击=>更改集详细信息
  4. 团队资源管理器 - 变更集详细信息在右侧打开。
  5. 选择其中一个文件。
  6. 使用Shift和向下箭头,您可以复制该特定变更集中的整个文件列表。
  7. 粘贴到Excel工作表(它复制了带有文件名的文件路径)

以上是所有变更集,并得到了我的完整列表。


0
投票

对于visualstudio.com,比上面更简单的再现

HTTPS:// {}帐户名.visualstudio.com /(项目)/ _apis / tfvc /变更$顶部= 10000&maxCommentLength = 2000

您需要最大注释长度才能阻止它截断。上面的工具不起作用,但这个工具确实:http://www.convertcsv.com/json-to-csv.htm

© www.soinside.com 2019 - 2024. All rights reserved.