使用TFS API如何获取特定日期文件的变更集ID?

时间:2010-03-21 20:46:20

标签: tfs tfs2008

我希望我可以将DateVersionSpec传递给VersionControlServer.DownloadFile(),但它不起作用。它告诉我该项目在该版本中不存在,即使该文件在传递的日期存在于源文件中。

我是否需要查询项目历史记录,以便我可以确定该文件在相关日期的版本?使用QueryHistory(...)方法?

我目前的代码:

version = new DateVersionSpec(date);
var changeSets = this.vcServer.QueryHistory(remoteFile, VersionSpec.Latest, 0,      
    RecursionType.None, user, version, version, 50, true, false);
if (changeSets == null) 
{
throw new Exception("Failed to find..."); 
}

foreach (var item in changeSets)
 {

 }

目前,当我将changeSet数量提取时,我没有得到任何回报。

我使用的代码非常类似:http://blogs.microsoft.co.il/blogs/srlteam/archive/2009/06/14/how-to-get-a-file-history-in-tfs-source-control-using-code.aspx

更新:我拥有的代码非常接近(几乎与帖子中的代码完全相同)但如果文件是在传入日期之前的日期添加的,并且由于它只有一个变化,这是一个补充。

1 个答案:

答案 0 :(得分:1)

这让我得到了我在我的应用上寻找的东西。如果它不起作用,请检查以确保您的文件路径正确。那是我第一次出错的原因。

this.vcServer.GetItem(remoteFile, new DateVersionSpec(date));