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

Met*_*urf 19 tfs export

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

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

Tay*_*ere 16

你有3个选择:

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

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

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

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

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

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

  • 这对我有用,但必须添加一个重定向命令:`tf history $// r/format:detailed/user:/ noprompt> c:\ mydirectory\myfile.txt` (3认同)

Noc*_*ock 8

最简单的方法是从excel连接到TFSWharehouse,然后从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));
}
Run Code Online (Sandbox Code Playgroud)