如何从TFS 2010导出包含用户,日期和完整评论(未截断)的历史记录?
例如,在团队资源管理器中:右键单击团队成员名称>显示登记历史。这将显示用户的登记历史记录,但评论会被截断。
答案 0 :(得分:16)
这里有3个选项:
1号可能是最简单的,所以我会从那开始。您可以阅读tf history命令here的文档。为了使注释不被截断,您需要使用/ format:detailed选项。如果你想要所有的历史,试试这样的事情:
历史$ / / r /格式:详细/ noprompt
如果您要查找给定用户的所有变更集,请尝试以下操作:
历史记录$ / / r /格式:详细/用户:/ noprompt
这将产生大量的文本输出,您需要将其解析为能够将其放入Excel中。试一试,如果您对选项2或3感兴趣,请告诉我,我可以为您提供更多详细信息。
答案 1 :(得分: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));
}
答案 2 :(得分:1)
您也可以像这样使用TFS Rest API:-
https://{accountName}.visualstudio.com/{project}/_apis/tfvc/changesets?
searchCriteria.author={userName}&$top=100
这将生成一个JSON,您可以将其上传到https://json-csv.com/之类的任何在线站点并获取CSV。
答案 3 :(得分:0)
这实际上不是自动导出,而是考虑共享。
对于VS2015我发现更容易跟随(大约20个变更集)
为所有变更集做了以上,并获得了我的完整列表。
答案 4 :(得分:0)
比上述visualstudio.com更为简单的格式
https:// {accountName} .visualstudio.com / {project} / _apis / tfvc / changesets?$ top = 10000&maxCommentLength = 2000
您需要最大注释长度才能阻止其被截断。 上面的工具不起作用,但是这个工具可以起作用:http://www.convertcsv.com/json-to-csv.htm